An AI-powered chatbot that helps sales representatives query information from previous client meetings using RAG (Retrieval-Augmented Generation).
It processes sales meeting transcripts and summaries, chunks content, embeds it into Qdrant, and serves a chatbot API with FastAPI + LangChain + OpenAI.
- 📁 Manual Data Upload from Google Drive (transcripts & summaries)
- 📝 Text Processing of meeting transcripts into structured format
- 🧩 Smart Chunking (token-based with overlap for context retention)
- 📦 Vector Storage in Qdrant (Cloud or Local)
- 🧠 RAG Chatbot API powered by LangChain & OpenAI
- 🌐 Simple Chat Widget for sales team
- 🔄 Manual Refresh Workflow (process → chunk → ingest → deploy)
- ☁️ Deployable on Render / Railway / AWS / Docker
sales_chatbot/
├── api/ # FastAPI app
│ └── main.py
├── data/
│ ├── raw/ # Raw meeting transcripts/summaries
│ └── clean/ # Processed text + chunks
├── frontend/ # Simple HTML/JS chatbot widget
├── process_meetings.py # Processes meeting transcripts
├── chunking.py # Splits text into chunks for embeddings
├── ingest_qdrant.py # Ingests chunks into Qdrant
├── ensure_indexes.py # Ensures indexes exist in Qdrant
├── run_pipeline.sh # End-to-end pipeline runner
├── requirements.txt # Python dependencies
├── Dockerfile # For containerized deployment
└── .github/workflows/ # GitHub Actions automation
git clone https://github.com/your-username/sales_chatbot.git
cd sales_chatbotpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtCreate a .env file:
OPENAI_API_KEY=your_openai_api_key
QDRANT_URL=https://your-qdrant-instance.qdrant.io:6333
QDRANT_API_KEY=your_qdrant_api_key
COLLECTION_NAME=sales_meetingsPlace your meeting transcripts and summaries in data/raw/ folder.
./run_pipeline.shThis will:
- Process meeting transcripts and summaries
- Chunk content
- Ingest into Qdrant
- Ensure indexes
uvicorn api.main:app --reload --port 8000Test endpoint:
curl -s -X POST http://127.0.0.1:8000/chat \
-H "Content-Type: application/json" \
-d '{"session_id":"sales_rep_1","message":"What pricing concerns did clients have?"}'docker build -t sales-chatbot .
docker run -p 8000:8000 sales-chatbot- Push repo to GitHub
- Create a Web Service on Render
- Point to this repo
- Expose port 8000
Your bot will be live at https://<your-app>.onrender.com.
Add this snippet to your sales dashboard:
<div id="sales-chatbot"></div>
<link rel="stylesheet" href="https://sales-bot.onrender.com/style.css">
<script src="https://sales-bot.onrender.com/app.js"></script>
<script>
SalesChatbotWidget.init({
endpoint: "https://sales-bot.onrender.com/chat",
title: "Sales Assistant 🤖",
subtitle: "Query previous client meetings"
});
</script>- What pricing objections did clients mention?
- Which features were most requested by enterprise clients?
- What concerns did clients have about implementation?
- Show me feedback about our competitor comparisons
- What questions do clients ask about security?
- Which industries showed most interest in our product?
MIT License © 2025