A real-time Retrieval-Augmented Generation (RAG) chatbot built to support multiple concurrent users using asynchronous message processing and semantic search.
-
Multi-user question answering with isolated chat memory
-
Retrieval-augmented responses (no hallucinations)
-
Asynchronous processing via RabbitMQ
-
Fast semantic search using Pinecone
-
Scalable, fault-tolerant architecture
RabbitMQ decouples user requests from heavy RAG processing
Pinecone stores and retrieves vector embeddings
LLM generates grounded answers using retrieved context
-
User asks a question
-
Request is sent to the API
-
API publishes a task to RabbitMQ
-
RAG worker consumes the message
-
Query is embedded and sent to Pinecone
-
Top relevant documents are retrieved
-
Prompt is constructed using retrieved context
-
LLM generates a grounded answer
-
Response is returned to the user