A GenAI-powered shopping assistant that helps users find products through natural language conversations. Instead of searching with keywords, users can describe what they want, and the assistant recommends suitable products using AI.
- Chat-based shopping assistant
- Understands natural language queries
- Detects shopping requests and casual conversations
- Recommends relevant products using AI
- Displays product images, prices, ratings, and Buy Now links
- Separate frontend and backend architecture
- Frontend: Streamlit
- Backend: FastAPI
- LLM: Groq (Llama 3.1 8B Instant)
- Framework: LangChain
- Embeddings: Sentence Transformers (all-MiniLM-L6-v2)
- Vector Database: FAISS
- Database: SQLite
- Data Processing: Pandas
- The user enters a message in the Streamlit interface.
- The message is sent to the FastAPI backend.
- The AI detects whether the user wants to shop or is simply chatting.
- For shopping requests, similar products are retrieved using FAISS.
- The LLM generates personalized recommendations.
- Product details are displayed to the user.
The project uses a cleaned Amazon product dataset with approximately 700 products, including:
- Product title
- Brand
- Category
- Price
- Rating
- Product image
- Product link
-
Clone the repository.
-
Create and activate a virtual environment.
-
Install dependencies:
pip install -r requirements.txt -
Create a
.envfile and add:GROQ_API_KEY=your_api_key -
Set up the database:
python database/db_setup.py -
Generate embeddings:
python embeddings/generate_embeddings.py -
Start the backend:
uvicorn backend.main:app --reload -
Start the frontend:
streamlit run frontend/app.py
- Real-time product APIs
- Conversation memory
- Price filtering
- User login and recommendation history
- Docker deployment
Summer Training Project – GenAI-based Product Recommendation System