Skip to content

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.

Notifications You must be signed in to change notification settings

MohitGupta0123/Ecomerce_Customer_Support_Chatbot

Repository files navigation

👚 AI Fashion Visual Search & Intelligent Styling Assistant

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.


📷 Screenshots

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
Visually Similar Products Outfit Complete Suggestion Products as per user text query User History Based Recommendation

🌟 Key Features

🔍 1. Visual Similarity Search

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.)

🧠 2. Trend-Based Outfit Suggestions

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.”


👤 3. Personalized Styling using User History

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

💬 4. Text-Based Search (Coming Soon)

Users will be able to input natural language queries like:

"Show me casual outfits with floral tops under ₹1500" and get curated product results.


🛠 Project Structure

📁 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!

💡 How It Works (End-to-End)

  1. User uploads an outfit image

  2. CLIP computes the embedding

  3. FAISS finds visually closest products

  4. LLM (Gemma-3B) takes:

    • The top match
    • Current trend strings
    • Category/style
    • And generates an outfit suggestion
  5. Based on username:

    • Similar clusters are searched
    • Trend-aware + user-preferred outfits are recommended

📸 Sample Use Case

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


💻 Installation

1. Clone this repository

git clone https://github.com/MohitGupta0123/Ecomerce_Customer_Support_Chatbot.git
cd fashion-visual-search

2. Install dependencies

pip install -r requirements.txt

Make sure you have a GPU or sufficient CPU RAM for running the LLM (Gemma-3B) and FAISS.

3. Launch the app

streamlit run app.py

🧰 Tech Stack

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)

🧭 Future Roadmap

  • ✅ 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)

🤝 Acknowledgements


📫 Contact

👨‍💻 Author: Mohit Gupta

📧 Email: [email protected]

🔗 LinkedIn

🐍 Python | 🧠 Deep Learning | 🎨 Fashion AI

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published