No-Code RAG Chatbot Platform
Turns documents and websites into deployable chatbots for web, Telegram, and Slack.
- Role
- Backend AI Engineer
- Timeframe
- Production engagement
- Stack
- FastAPI
- LangChain
- OpenAI
- Milvus
- PostgreSQL
- AWS
- Telegram API
- Slack API
Problem
Creating a retrieval-augmented chatbot usually requires engineering work for every new knowledge base and delivery channel. The client needed a platform where users could add documents or website content, create a grounded chatbot without writing code, and make the same bot available through an embeddable web experience, Telegram, and Slack.
Architecture
A FastAPI backend coordinates ingestion and chat requests. LangChain processes uploaded documents and website pages, generates embeddings, and stores the resulting chunks in Milvus with each bot’s knowledge kept separate. At question time, the backend retrieves the most relevant context, sends the grounded request to OpenAI, and returns the answer through the channel that originated it. PostgreSQL on Amazon RDS stores the platform’s application data, while the API runs on AWS.
- Documents and website pages are embedded into Milvus
- A user asks the bot on the web, Telegram, or Slack
- The backend retrieves matching chunks and answers through the same channel
What I built
- Built the FastAPI and LangChain backend that turns documents and web URLs into reusable RAG chatbots.
- Implemented the ingestion and retrieval flow around Milvus so each bot answers from its configured knowledge rather than relying on the model’s general knowledge.
- Integrated the same conversational backend with an embeddable web widget, Telegram, and Slack.
- Connected the platform to PostgreSQL on Amazon RDS and deployed the backend infrastructure on AWS.
- Kept channel-specific handling at the integration boundary so ingestion, retrieval, and answer generation remain shared across all three experiences.
Results
- Delivered a no-code workflow for moving from source material to a deployable chatbot without building a separate backend for each bot.
- Supported web, Telegram, and Slack from one retrieval and answer pipeline.
- Centralized bot knowledge in Milvus and platform data in PostgreSQL, giving the system a clean separation between semantic retrieval and application state.