InsureBot is an AI-powered insurance assistant that enables voice-based interactions, document search, and intelligent responses for insurance-related queries. The system features a Python backend (FastAPI, Rasa, custom services) and a modern React frontend.
- Python 3.10 or higher
- Docker
- SarvamAI API key (for TTS and STT)
- Gemini API key (for LLM)
- Voice chat assistant with real-time speech-to-text (STT) and text-to-speech (TTS)
- Rasa-based NLP and chat orchestration
- Retrieval-Augmented Generation (RAG) for knowledge base-grounded responses
- End-to-end audio pipeline for seamless voice interaction
git clone https://github.com/HarshitR2004/InsureBot.git
cd InsureBotCreate .env files in the respective directories:
# TTS and STT/.env
YOUR_SARVAM_API_KEY=sk_your_actual_key_here
# Project root .env
GEMINI_API_KEY=your_gemini_key_here
Note: Docker is the only supported method to run InsureBot. All services must be started using Docker containers.
docker run -d --name weaviate -p 8080:8080 \
-e QUERY_DEFAULTS_LIMIT=100 \
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true \
-e PERSISTENCE_DATA_PATH="./data" \
semitechnologies/weaviate:latestcd TTS
docker build -t insurebot-tts .
docker run -d -p 5050:5050 --env-file .env --name tts-service insurebot-ttscd ASR
docker build -t insurebot-asr .
docker run -d -p 3001:3001 --name asr-service insurebot-asrInstall Python dependencies first:
pip install -r requirements.txtThen use the start.bat script from the project root to start all backend services:
start.bat- Ensure all backend services and the frontend are running.
- Open the frontend in your browser.
- Use the voice chat interface to interact with InsureBot.