Welcome to IntelliShelf, a full-stack AI-powered demo platform that combines Computer Vision, LLMs, and RAG to deliver a futuristic musical instrument e-commerce experience. From automated defect detection to LLM-generated descriptions and FAQ-based chatbot assistance, everything is built with modularity and scalability in mind.
| Capability | Powered By |
|---|---|
| πΌοΈ Product Type Classification | PyTorch (ResNet-based CNN) |
| π Defect Detection | YOLOv8 (Ultralytics) |
| π Auto Description Generation | Google Gemini API |
| π¬ Buyer Chatbot (Policies/FAQs) | LangChain + Chroma + Gemini (RAG) |
| π¦ Image Upload + Storage | FastAPI + PIL |
| π Return Eligibility Detection | Vision + Business Rule Logic |
| π₯οΈ Web Interface | FastAPI + Jinja2 Templates + HTML/CSS |
| βοΈ Container | Docker |
intellishelf/
βββ store/
β βββ main.py # FastAPI app
β βββ templates/ # HTML templates (Jinja2)
β βββ static/ # CSS and static assets
β βββ ...
βββ product\_db/
β βββ product\_data.json # Stores product catalog
β βββ uploaded\_images/ # Image storage
βββ chromadb/ # Vector DB for RAG
βββ model/
β βββ classify.pth # PyTorch classifier
β βββ YOLOv8 weights # YOLOv8 defect detector
βββ runs/ # YOLO training artifacts
- Upload any musical instrument image.
- Fill in product specifications.
- System detects:
- π΅ Instrument type
- π§― Whether it is defective
- Based on the uploaded specs, Gemini LLM creates:
- π Human-readable product description
- β A structured list of key features
- View uploaded products.
- Each item has:
- Thumbnail
- Class, Features, Description
- Powered by:
- π Chroma (vector DB)
- π€ Gemini + LangChain (RAG)
- Ask questions like:
- βCan I return a damaged tabla?β
- βHow long is the warranty?β
- Upload product photo + purchase age (in days)
- Uses:
- CV + business logic
- To verify if return is valid
- In case of defect β prompts inspection/replacement
-
Instrument Classification: ResNetβbased model trained on 5 categories:
['flute', 'guitar', 'tabla', 'violin', 'drum'] -
Defect Detection: YOLOv8 trained on custom dataset:
- Detects surface damage, broken parts, or wear
- Input: Specs like
"9 inches, steel body, 6 holes" - Output:
{
"description": "This stylish steel flute features a sleek black finish...",
"features": ["9 inches", "6 holes", "black color", "steel body"]
}- Powered by Google Gemini LLM API
-
Embedded:
- π Store Policies (PDF)
- β FAQs (JSON)
-
Vectorized using Google GenerativeAI Embeddings
-
Indexed with Chroma
-
Retrieved via LangChain ConversationalRetrievalChain
git clone https://github.com/yourname/intellishelf.git
cd intellishelf/store
pip install -r requirements.txtCreate a .env file:
GOOGLE_API_KEY=your_google_gemini_key
uvicorn main:app --reloadVisit π http://localhost:8000
This app is fully containerized and ready to deploy via Docker.
# Build image
docker build -t yashh2417/intellishelf-store:latest .
# Login to Docker Hub
docker login
# Push to Docker Hub
docker push yashh2417/intellishelf-store:latest
docker run -p 8000:8000 \
-e GOOGLE_API_KEY=your_gemini_api_key \
yashh2417/intellishelf-store:latest
Visit π http://localhost:8000Once image is pushed to Docker Hub, deploy using:
-
Create Container Service
-
Use image: yashh2417/intellishelf-store:latest
-
Expose port 8000
-
Add GOOGLE_API_KEY as secret environment variable
-
Launch Ampere VM
-
Install Docker + CapRover
-
Use your DockerHub image to deploy
-
Supports private/public registry
-
Autoβrestart, logging, HTTPS support
π‘ You must ensure platform = linux/arm64 for all deployments (check Docker image architecture)
Let users rate:
- π€ Description quality
- π· Detection accuracy
- π€ RAG answers
Use feedback to:
- Fine-tune prompts
- Improve data augmentation
- Retrain models periodically
If planning a real launch:
-
πΈ Add Stripe/PayPal checkout
-
π Build seller dashboard:
- Upload stock
- Track defects
-
π¬ Enable email alerts for:
- Returns
- Claim status
- Frontend: HTML + Jinja2 + CSS
- Backend: FastAPI
- LLM: Gemini 1.5 Flash
- RAG: LangChain + Chroma
- Embedding: GoogleGenerativeAIEmbeddings
- Database: JSON + ChromaDB
- CV Models: YOLOv8 + PyTorch CNN
- Container: Docker (ARM64)
- Deployment: Docker Hub β AWS/Oracle/Railway
- π§ Email: yashh2417@gmail.com
- π LinedIn: @yashh2417
- π¦ Twitter: @yashh2417
- πΌ Portfolio: @yashh2417
- π Docker-Image: Docker-Image
β οΈ Note: This is a demo project. All models are trained on small sample datasets and not production-hardened. Gemini API usage is rate-limited under personal key.








