Skip to content

[submission] Varshini Nalla - RAG App

Varshini Nalla requested to merge Varshini031/recipe-recommendation:main into main

🍲 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:

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes
  4. Push changes
  5. 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

Active Development

Future updates will include enhanced recommendation accuracy, nutritional insights, and personalized meal planning.

Merge request reports

Loading