Retrieval-Augmented Generation chatbot with knowledge base integration. This chatbot uses RAG (Retrieval-Augmented Generation) architecture to provide accurate answers from a knowledge base. Perfect for building chatbots with domain-specific knowledge.
- Knowledge base integration with ChromaDB
- Vector similarity search
- Context retrieval from knowledge base
- Accurate responses using RAG architecture
- Domain-specific knowledge support
- Conversation History: Maintains context across multiple messages
- Streaming Responses: Real-time streaming of LLM responses
- Hybrid Search: Combines vector similarity with keyword matching
- File Upload: Upload documents directly through the web interface
- Analytics Dashboard: Track queries, sessions, response times, and feedback
- Feedback System: Thumbs up/down for responses
- Chat Export: Export conversations as JSON
- Session Management: Multiple concurrent sessions
- Response Time Tracking: Monitor performance metrics
- LangChain
- Vector DB (ChromaDB)
- Python
- OpenAI API
- Embeddings
- Clone the repository
- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env and add your OpenAI API key- Prepare your knowledge base:
python prepare_knowledge_base.py- Run the application:
python app.py- Start the Flask server
- Open your browser and navigate to
http://localhost:5000 - Enter your questions in the chat interface
- The chatbot will retrieve relevant context from the knowledge base and generate accurate responses
- Streaming Mode: Toggle streaming on/off in the chat header
- Hybrid Search: Enable hybrid search for better results combining semantic and keyword search
- Upload Documents: Click the upload button to add new documents to the knowledge base
- View Analytics: Click the analytics button to see statistics and insights
- Export Chat: Click export to download your conversation as JSON
- Feedback: Use thumbs up/down buttons on responses to provide feedback
rag-chatbot/
├── app.py # Flask application with advanced endpoints
├── chatbot.py # RAG chatbot implementation
├── vector_store.py # Vector database operations
├── embeddings.py # Embedding utilities
├── conversation_manager.py # Conversation history management
├── analytics.py # Analytics and statistics tracking
├── hybrid_search.py # Hybrid search implementation
├── prepare_knowledge_base.py # Knowledge base preparation
├── config.py # Configuration settings
├── setup.py # Setup script
├── templates/
│ └── index.html # Web interface with advanced UI
├── static/
│ ├── css/
│ │ └── style.css # Styles with modal and advanced UI
│ └── js/
│ └── app.js # Frontend JavaScript with all features
├── knowledge_base/ # Knowledge base documents
├── vector_db/ # Vector database storage
├── conversations/ # Conversation history storage
├── analytics/ # Analytics data storage
└── requirements.txt # Python dependencies
© 2026 RSK World - https://rskworld.in