About Customer Support RAG Chatbot
Customer Support RAG Chatbot is a documentation-grounded support chatbot for organizations with customer support materials. It uses semantic search and answers “I don't know” when the documentation does not cover a question.
Key features
- 01Documentation-based answers
- 02Semantic search
- 03Context-aware replies
- 04Out-of-scope fallback
- 05AngelOne web scraping
- 06Insurance PDF processing
Use cases
- 01Answering customer questions from support documents
- 02Finding information in AngelOne documentation
- 03Looking up details in insurance PDFs
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECustomer Support RAG Chatbot
A Retrieval-Augmented Generation (RAG) chatbot trained on customer support documentation to assist users by answering queries and providing relevant support information.
Features
- Answers questions based on provided customer support documentation
- Responds with "I don't know" for questions outside the documentation scope
- User-friendly web interface
- Semantic search for relevant information
- Context-aware responses
- Web scraping support for AngelOne documentation
- PDF processing for insurance documents
Setup Instructions
- Clone the repository:
git clone <repository-url>
cd <repository-name>
- Create and activate a virtual environment:
python -m venv venv
# On Windows
.\venv\Scripts\activate
# On Unix/MacOS
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
Create a
.envfile in the root directory with:
HF_API_KEY=your_huggingface_api_key_here
-
Gather documentation:
- For AngelOne documentation:
python scrape_angelone.py - For insurance PDFs:
- Place all insurance PDFs in the
docs/insurancedirectory
- Place all insurance PDFs in the
- For AngelOne documentation:
-
Process the documentation:
python process_documents.py
- Start the backend server:
python mcp_server.py
- In a new terminal, start the frontend:
streamlit run app.py
Deployment
To deploy the application:
-
Backend (FastAPI):
- Deploy to a cloud platform (e.g., Heroku, AWS, DigitalOcean)
- Set environment variables in the cloud platform
- Use a process manager (e.g., Gunicorn) to run the FastAPI server
-
Frontend (Streamlit):
- Deploy to Streamlit Cloud or similar platform
- Configure the frontend to point to your deployed backend URL
- Set environment variables in the deployment platform
Usage
- Open your web browser and navigate to the deployed URL
- Type your question in the chat interface
- The chatbot will:
- Search the documentation for relevant information
- Generate a response based on the found information
- Respond with "I don't know" if the information is not in the documentation
Project Structure
.
├── app.py # Streamlit frontend
├── mcp_server.py # FastAPI backend
├── process_documents.py # Document processing script
├── scrape_angelone.py # Web scraper for AngelOne docs
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── docs/ # Documentation directory
│ ├── angelone/ # Scraped AngelOne documentation
│ └── insurance/ # Insurance PDFs
└── chroma_db/ # Vector database storage
Dependencies
- FastAPI: Backend API
- Streamlit: Frontend interface
- Hugging Face: LLM for response generation
- ChromaDB: Vector database for document storage
- Sentence Transformers: Text embeddings
- PyPDF: PDF processing
- BeautifulSoup4: Web scraping
- Requests: HTTP client
Notes
- The chatbot only answers questions based on the provided documentation
- It will respond with "I don't know" for questions outside the documentation scope
- The system uses semantic search to find relevant information
- Responses are generated using the Hugging Face API
- Web scraping is rate-limited to be respectful to the source website
License
[Your License Here]
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.