An AI-powered fashion assistant that helps users discover visually similar fashion products, get intelligent outfit suggestions, and receive personalized recommendations — all within an elegant Streamlit app.
Think of it as your AI stylist: Upload a fashion product → Get similar items → Complete your look → Discover trending styles.
Here are some snapshots of the Fashion Visual Search & Styling Assistant in action:
| Visually Similar Products based on user image query | Suggestions to Complete Outfit | Products Based on Text Query | Personalized Recommendations Based on Your Style History |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Using CLIP embeddings + FAISS indexing, the system matches a user-uploaded product image with visually similar products from your fashion catalog (image_embeddings.pkl).
- Efficient vector similarity search via
combined_vectors.npy - Product details fetched via
product_metadata_df.pkl - Supports all major fashion categories (tops, pants, shoes, etc.)
The assistant uses an LLM (Gemma-3B) to generate outfit recommendations based on:
-
The uploaded product's type, color, and pattern
-
Trending clothing keywords dynamically extracted from fashion blogs and websites (
trend_string.pkl) -
Language-enhanced responses like:
“Pair this pastel top with high-waisted beige trousers and white sneakers for a clean summer look.”
By maintaining user_history.pkl, the system personalizes recommendations:
- Suggests items from similar clusters (e.g., casual, party, boho) using
cluster_labels.pkl - Recalls recently viewed/saved styles
- Avoids redundancy in recommendations
- Incorporates trending styles while aligning with the user’s historical preferences
Users will be able to input natural language queries like:
"Show me casual outfits with floral tops under ₹1500" and get curated product results.
📁 Assets/
│ ├── cluster_labels.pkl ← Cluster ID for each product
│ ├── combined_vectors.npy ← Merged image-text embeddings
│ ├── faiss_index.index ← FAISS index for fast search
│ ├── image_embeddings.pkl ← CLIP-based image vectors
│ ├── text_embeddings.pkl ← SentenceTransformer vectors
│ ├── product_metadata_df.pkl ← All product details
│ ├── product_ids.pkl ← ID mapping for inventory
│ ├── trend_string.pkl ← Extracted trending keywords
│ └── user_history.pkl ← Personalized search memory
📄 app.py ← Streamlit app code
📄 EDA.ipynb ← Data exploration + embeddings
📄 eda-ecomerce-chatbot-modeling.ipynb ← Notebook with modeling logic (MAIN WORKING CODE)
📄 requirements.txt ← All dependencies
📄 README.md ← You’re reading it!
-
User uploads an outfit image
-
CLIP computes the embedding
-
FAISS finds visually closest products
-
LLM (Gemma-3B) takes:
- The top match
- Current trend strings
- Category/style
- And generates an outfit suggestion
-
Based on username:
- Similar clusters are searched
- Trend-aware + user-preferred outfits are recommended
User Input: Image of a light pink floral blouse System Output:
✅ Top 5 visually similar items 💬 Outfit suggestion:
“Style this floral blouse with high-rise flared jeans, a straw handbag, and peach-toned wedges for a brunch-ready vibe.” 🧠 Personalized picks: Other boho-style pieces, previously liked by the user
git clone https://github.com/MohitGupta0123/Ecomerce_Customer_Support_Chatbot.git
cd fashion-visual-searchpip install -r requirements.txtMake sure you have a GPU or sufficient CPU RAM for running the LLM (Gemma-3B) and FAISS.
streamlit run app.py| Component | Tools & Frameworks |
|---|---|
| Embeddings | OpenAI CLIP, SentenceTransformers |
| Vector Search | FAISS (Facebook AI Similarity Search) |
| LLM | Google’s Gemma-3B (quantized for 6GB GPU) |
| UI | Streamlit |
| Storage | Pickle, NumPy, Pandas |
| Deployment | Local (tested on 6GB RTX GPU), Hugging Face (planned) |
- ✅ Login authentication + persistent DB for user history (SQLite)
- 🧵 Enable natural language outfit queries (NLP + filtering)
- 🎯 Filter by price, category, size, brand, or color
- 🌐 Deploy live app on Hugging Face Spaces
- 📊 Analytics dashboard (popular products, trending clusters)
- CLIP by OpenAI
- FAISS by Meta AI
- Gemma by Google DeepMind
- Streamlit for UI
- SentenceTransformers
- Fashion trend inspiration from Pinterest & Myntra blogs
👨💻 Author: Mohit Gupta
📧 Email: [email protected]
🐍 Python | 🧠 Deep Learning | 🎨 Fashion AI



