To streamline the development of Proof of Concepts (POCs) and Minimum Viable Products (MVPs) for our clients at Lokam, we can establish a standardized, scalable, and modular project scaffolding system. This system will cater to the three primary use cases:
-
Regular Chatbot
- Utilizing a Large Language Model (LLM) to respond to user inputs.
-
RAG-based Chatbot
- Combining LLMs with Retrieval-Augmented Generation (RAG) techniques
- Incorporating vector databases for context-rich responses
-
MCP AI Agent
- An agent with Model Context Protocol (MCP) capabilities
- Connecting to multiple data sources and systems to perform specific tasks
- React: For building user interfaces
- Tailwind CSS: For utility-first CSS styling
- Vite: As the build tool for faster development
- FastAPI: For building high-performance APIs
- PostgreSQL: As the primary relational database
- pgvector: An extension for PostgreSQL to handle vector embeddings
- Docker: For containerization
- CI/CD Pipelines: Using GitHub Actions or GitLab CI
- Backend:
- FastAPI setup with routes to handle user inputs
- Integration with chosen LLMs (e.g., OpenAI, Claude, Gemini)
- Frontend:
- React components for chat interface
- Tailwind CSS for styling
- Backend:
- FastAPI setup with routes for document ingestion and querying
- Integration with vector database using pgvector
- Embedding generation using models like OpenAI's embeddings or SentenceTransformers
- Frontend:
- React components for document upload and chat interface
- Tailwind CSS for styling
- Backend:
- FastAPI setup with MCP server and client implementations
- Connectors to various data sources and systems
- Frontend:
- React components to monitor and interact with the agent
- Tailwind CSS for styling
Create a Command Line Interface (CLI) tool (lokam-cli) to automate project setup:
- Project type selection (Regular Chatbot, RAG-based Chatbot, MCP AI Agent)
- Project structure generation with pre-configured frontend and backend
- Git repository initialization and dependency installation
- Docker configuration setup
- CI/CD pipeline integration
- Built using Python's click or argparse libraries
- Distributed internally via PyPI or as standalone executable
- Backend testing with pytest
- Frontend testing with Jest
- Docker containerization
- AWS deployment (ECS or EKS)
- Automated build and deployment via GitHub Actions or GitLab CI
- Maintain comprehensive documentation for templates and CLI tool
- Conduct development team training sessions
- Gather feedback from developers and clients
- Iterate on templates and tools to improve usability and performance# WAF