[submission] Varshini Nalla - RAG App
🍲 Recipe Recommendation RAG Application
An AI-powered Recipe Recommendation System built using Retrieval-Augmented Generation (RAG) that suggests recipes based on ingredients provided by the user.
The application retrieves relevant recipes from a vector database and uses a Large Language Model (LLM) to generate intelligent recipe recommendations, cooking instructions, and ingredient-based suggestions.
📌 Project Description
This project helps users discover recipes using the ingredients available at home.
Users enter a list of ingredients, and the system:
- Retrieves matching recipes from a vector database.
- Uses AI to generate recipe recommendations.
- Provides cooking instructions.
- Suggests possible dishes that can be prepared.
The project combines RAG architecture with Natural Language Processing to improve recipe search and recommendation quality.
✨ Features
- Ingredient-based recipe recommendations
- Retrieval-Augmented Generation (RAG)
- Semantic search using embeddings
- Vector database storage with ChromaDB
- AI-generated cooking suggestions
- Streamlit web interface
- Fast and user-friendly experience
🏗 ️ Project Architecture
User Ingredients
↓
Embedding Generation
↓
ChromaDB Vector Search
↓
Retrieve Relevant Recipes
↓
LLM Processing
↓
Recipe Recommendations
🛠 ️ Technologies Used
| Component | Technology |
|---|---|
| Programming Language | Python 3.13 |
| Frontend | Streamlit |
| RAG Framework | LangChain |
| Vector Database | ChromaDB |
| Embeddings | Sentence Transformers |
| Language Model | FLAN-T5 |
| Data Processing | Pandas |
📂 Project Structure
recipe-rag-app/
│
├── app.py
├── ingest.py
├── recipes.csv
├── requirements.txt
├── vector_store/
└── README.md
⚙ ️ Installation
Clone Repository
git clone https://code.swecha.org/Jeevitha.y/recipe-recommendation.git
cd recipe-recommendation
Create Virtual Environment
python -m venv venv
Activate Virtual Environment
Windows
venv\Scripts\activate
Linux/Mac
source venv/bin/activate
Install Dependencies
pip install -r requirements.txt
📊 Dataset
The project uses a CSV dataset containing:
- Recipe Name
- Ingredients
- Instructions
Example:
recipe,ingredients,instructions
Paneer Curry,"paneer,tomato,onion","Cook onion and tomato. Add paneer."
Veg Fried Rice,"rice,carrot,beans,onion","Cook rice and fry vegetables."
Tomato Soup,"tomato,garlic,butter","Boil tomatoes and blend."
🚀 Usage
Step 1: Create Vector Database
Run:
python ingest.py
Expected Output:
✅ Vector DB created successfully!
Step 2: Start Application
Run:
streamlit run app.py
Step 3: Enter Ingredients
Example:
tomato, onion, paneer
or
rice, carrot, beans
Step 4: Get Recommendations
The system retrieves matching recipes and generates:
- Recipe Name
- Ingredients
- Cooking Instructions
- Suggestions
📸 Sample Workflow
Input:
tomato, onion, paneer
Retrieved Recipes:
- Paneer Curry
- Tomato Soup
Generated Output:
Recommended Recipe:
Paneer Curry
Steps:
1. Chop onions and tomatoes.
2. Prepare gravy.
3. Add paneer.
4. Cook and serve.
📈 Future Enhancements
- Voice-based ingredient input
- Nutrition analysis
- Calorie estimation
- Recipe image generation
- Meal planning system
- Multi-language support
- User authentication
- Save favorite recipes
🤝 Contributing
Contributions are welcome.
Steps:
- Fork the repository
- Create a feature branch
- Commit changes
- Push changes
- Create a Merge Request
👩 💻 Authors
Yuvika Jeevitha Varshini Sai charan Harishwar
B.Tech Computer Science Engineering
🙏 Acknowledgments
Special thanks to:
- LangChain
- Hugging Face
- Streamlit
- ChromaDB
- Open Source AI Community
📜 License
This project is developed for educational and learning purposes.
📌 Project Status
Future updates will include enhanced recommendation accuracy, nutritional insights, and personalized meal planning.