This project implements a Smart Shopping assistant using LangChain, LangGraph, and Streamlit, powered by the Groq API. fu Sensitive actions, like creating orders, require human approval through a human-in-the-loop mechanism.
👉 Check out the Live App Here ! for a demo!
- Product Inquiries: Answer questions about availability, pricing, and stock.
- Order Placement: Create new orders with human approval.
- Order Tracking: Provide real-time order status updates.
- Personalized Recommendations: Suggest products based on purchase history.
- E-commerce: Streamline customer service and boost sales.
- Customer Support: Automate routine tasks with user control.
- Sales Teams: Offer personalized product recommendations.
- LangChain: Framework for AI-powered conversations.
- LangGraph: Stateful agent workflows.
- SQLite: Lightweight database for product and order data.
- Streamlit: Interactive web interface.
- Groq API: Fast and efficient natural language understanding.
sopping-assistant/
├── database/ # Database setup and management
├── shopping_assistant/ # Agent logic and tools
├── app.py # Streamlit app
├── README.md # This file
├── requirements.txt # Project dependencies
└── database_init.py # Database initialization
- Python 3.12+
- Virtual environment recommended.
-
Clone the Repository:
git clone https://github.com/SBDI/shopping-assistant.git cd shopping-assistant
-
Set Up Virtual Environment:
- uv is recommended !
uv venv --python 3.12 venv\Scripts\activate # Windows source venv/bin/activate # Linux/Mac
-
Install Dependencies:
uv pip install -r requirements.txt
-
Configure Environment:
- Rename
.env-example
to.env
. - Add your
GROQ_API_KEY
andLANGCHAIN_API_KEY
.
- Rename
-
Initialize Database:
python database_init.py
-
Run the App:
streamlit run app.py
- Multi-Agent System
- Modular Reasoning, Knowledge, and Language (MRKL).
- User feedback collection.
- Specialized agents for returns/refunds
- Customer sentiment analysis
- Scalability Improvements
- Redis caching layer
- Async API processing