A smart AI-powered assistant that helps users explore a shop's product catalog using natural language queries.
This project demonstrates how to build a RAG (Retrieval-Augmented Generation) based Shop Assistant Chatbot using:
- 🧠 Google Gemini for LLM responses and embeddings
- 📆 Pinecone for vector search
- �� MySQL for product data storage
- ⚖️ FastAPI backend
- 🎨 Streamlit frontend
Users can browse, search, and chat about products via a sidebar chatbot while viewing a catalog in real-time!
👉 Chatbot trained on actual product descriptions 👉 Live filtering by brand, gender, and price 👉 Modular and scalable backend + frontend 👉 Google Gemini + Pinecone-powered retrieval 👉 Full-stack Python implementation
CustomerCareChatbot/
│
├── backend/ # FastAPI backend
│ ├── main.py
│ ├── routes/
│ └── services/
│
├── frontend/ # Streamlit frontend
│ └── app.py
│
├── embedding/ # Data loading and Pinecone sync
│ ├── data_insertion.py
│ └── sync_pinecone.py
│
├── .env
├── README.md
├── uv.toml
└── architecture.pdf # System architecture diagram
git clone https://github.com/snsupratim/ShopAssistantChatbot2.0.git
cd ShopAssistantChatbot2.0pip install uv
uv venv
uv pip install -r requirements.txtOr use
uv pip install fastapi streamlit mysql-connector-python langchain-google-genai langchain-pinecone pinecone-clientif no requirements.txt
Create a .env file in the root directory:
DB_PASSWORD=your_mysql_password
GOOGLE_API_KEY=your_gemini_api_key
PINECONE_API_KEY=your_pinecone_api_key
python embedding/data_insertion.pypython embedding/sync_pinecone.pyuvicorn backend.main:app --reloadstreamlit run frontend/app.py- "Do you have any red dresses for women?"
- "Show me Puma shoes under 3000."
- "What are the Nike products available?"
- "Tell me about affordable items for men."
- "Any stylish sneakers in black?"
- "What's the price of the Adidas t-shirt?"
Please see the detailed architecture diagram and modular workflow in this PDF:
| Tool | Purpose |
|---|---|
| FastAPI | REST API backend |
| Streamlit | Frontend & Chat UI |
| MySQL | Product database |
| Pinecone | Vector DB for RAG |
| Google Gemini | Embedding + Chat Model |
| LangChain | LLM orchestration |
- Developed by Supratim Nag
- Inspired by modern RAG-based AI systems
🔵 Watch the video tutorial: 👉 https://youtube.com/@sn-develpoment
This project is licensed under the MIT License.