SmartCart is a multi-agent system that delivers hyper-personalized product recommendations using advanced AI and machine learning techniques. The system consists of three intelligent agents working together to understand customer behavior, analyze products, and provide tailored recommendations.
- 🤖 Multi-agent architecture (Customer, Product, and Recommendation Agents)
- 🧠 Gemini AI-powered persona generation and product profiling
- 🎯 Hyper-personalized product recommendations
- 📊 Explainable AI for transparent recommendations
- 😊 Mood-based dynamic suggestions
- 📖 AI-generated product storytelling
- 🔄 Continuous learning from customer feedback
The system is built using:
- FastAPI for the backend
- Google's Gemini API for AI capabilities
- SQLite for data persistence
- Modern RESTful API design
- Clone the repository:
git clone https://github.com/yourusername/SmartCart.git
cd SmartCart- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
- Copy
.env.exampleto.env - Add your Gemini API key to the
.envfile
- Run the application:
uvicorn src.main:app --reloadThe API will be available at http://localhost:8000
Once the server is running, you can access:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
POST /api/v1/customer/persona- Generate customer personaPOST /api/v1/product/profile- Generate product profilePOST /api/v1/recommendations- Get personalized recommendationsPOST /api/v1/recommendations/explain- Get recommendation explanationPOST /api/v1/recommendations/mood- Get mood-based recommendationsPOST /api/v1/product/story- Generate product storyPOST /api/v1/recommendations/feedback- Update recommendation based on feedback
- CustomerID
- Name
- Age
- Gender
- Location
- BrowsingHistory
- PurchaseHistory
- PreferredCategories
- ProductID
- ProductName
- Category
- Price
- Rating
- Description
- Features
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini API
- FastAPI
- SQLAlchemy
- All contributors and supporters