A modern AI-powered web application that helps users search for visually similar fashion products, receive outfit recommendations based on their style preferences and simulate personalized experiences using recent trends and LLMs — all in one elegant interface built with Streamlit, CLIP, and Gemma LLM.
🌐 Website - DEMO
Traditional fashion search engines rely on tags or manual filters. Our system enhances user experience by allowing:
- Image-based Search: Upload any fashion item image to retrieve visually similar products.
- Text-based Search: Enter queries like "oversized hoodie, floral print dress" and retrieve matching products.
- Personalized Suggestions: Based on your browsing or simulated history.
- Intelligent Outfit Completion: Generate LLM-powered suggestions to complete your outfit using trending insights.
This app can serve as a virtual fashion assistant, a personal stylist, or a foundation for an e-commerce AI integration.
| Module | Description |
|---|---|
| 🔍 Visual Search | Upload an image or type a query to find similar fashion products. |
| 🧠 LLM-based Outfit Generator | Uses Gemma 3B via Hugging Face API to suggest outfit completions. |
| 👤 History Simulation | Fake user history generation + product-based similarity suggestions. |
| 📈 Fashion Trend Inference | Extracts trending keywords from inventory and online data. |
| 📊 FAISS Indexing | Efficient nearest-neighbor search using pretrained embeddings. |
| 🌐 Hugging Face Integration | Seamless API token handling and LLM inference. |
| ✅ Modular Pipeline | Each part of the pipeline is reusable, testable, and extensible. |
Fashion AI/
├── Assets/ # FAISS Index, product IDs, and image embeddings
├── Data/ # Cleaned CSV files for jeans and dresses
├── Modules/ # Modular Python scripts for each major functionality
│ ├── dataloader.py
│ ├── faiss_index.py
│ ├── outfit_suggester.py
│ ├── preprocessing.py
│ ├── search.py
│ ├── trends.py
│ └── user_profile.py
├── Src/ # Static assets like animation GIFs or logos
├── Notebooks/ # Python Jupyter Notebooks
├── Test_Images/ # Sample test images
├── app.py # Main Streamlit app file
├── requirements.txt # Required Python libraries
└── README.md # You're here!- Frontend: Streamlit
- Image Embeddings: CLIP (ViT-L/14)
- Text Embeddings: SentenceTransformers
- LLM Suggestion Engine: Gemma-3B (via HF Inference API)
- Nearest Neighbors Search: FAISS
- Trends Analysis: Web scraping + TF-IDF on product metadata
- Deployment-ready: Works on Streamlit Cloud
Recommended Python version:
>=3.11
- Clone the repository
git clone https://github.com/MohitGupta0123/Fashion-Sense-AI.git
cd Fashion-Sense-AI- Install the dependencies
pip install -r requirements.txt- Run the application
streamlit run app.py- Enter Hugging Face Token
- Get your free token from: https://huggingface.co/settings/tokens
- Paste it in the sidebar to access outfit suggestions using the Gemma model.
Once the app is running:
- Upload an image or enter a style description like
"striped top, loose fit". - Adjust the number of desired results using the slider.
- View Top Matching Products — displayed with image and price.
- Click 🧪 Simulate Fake History to create browsing history (or use your own).
- See Suggestions Based on History.
- Tap 🧠 Generate Outfit to let the LLM suggest fashion complements (shoes, accessories, layering items, etc.).
- 🔍 A user uploads a black denim jacket → finds 10 similar styles instantly.
- 🛍️ A shopper queries for
"Off Shoulder dresses"→ retrieves relevant dresses. - 🤖 Fake user browsing history is generated → recommendations are shown.
- 🎨 LLM completes the outfit with accessories and layering items based on the uploaded look.
- The
HF_TOKENis required to query Gemma for outfit recommendations. - It is securely saved in
st.session_statefor each user session. - It is never stored persistently or sent elsewhere.
- 🔒 Authenticated user sessions with persistent history
- 🛒 Add-to-cart integration for e-commerce use
- 🗣️ Voice-based outfit search (via Whisper or Speech-to-Text APIs)
- 🧵 Tailor chatbot integration for fashion Q&A
👤 Mohit Gupta







