AI-powered recipe discovery chatbot that helps users explore African recipes.
# African Culinary RAG Assistant
## Project Overview
The African Culinary RAG Chatbot is an AI-powered, recipe discovery chatbot that helps users
explore, query, and retrieve African recipes with their ingredients, steps, and nutritional
information. It uses a **Retrieval-Augmented Generation (RAG)** approach to combine semantic search
over a curated recipe dataset with a Large Language Model (LLM) for context-aware answers.
Users can ask questions like _“How do I cook Egusi Soup?”_ or _“What ingredients do I need for Jollof Rice?”_
and receive both a natural language answer and the relevant recipe context.
## Table of Contents
- Tech Stack
- Installation & Setup
- Pre-requisites
- Setup Instructions
- Basic Usage
- Streamlit Application
- CLI Application
- Project Structure
- Example Queries and Answers
- Known Issues
- Acknowledgement
- License
## Tech Stack
- **Backend (AI)**: LangChain, HuggingFace Embeddings, ChatGroq
- **Frontend**: Streamlit
- **Data**: JSON recipes dataset of African cuisine, collected from recipes websites.
## Installation & Setup
### Pre-requisites
- Python 3.10 or above
- Groq API Key
### Setup Instructions
1. Clone the repository:
```bash
git clone
github.com
cd african-culinary-chatbot
```
2. Create a Python virtual environment:
```bash
python3 -m venv .venv
source .venv/bin/activate # Linux / macOS
.venv\Scripts\activate # Windows
```
3. Install Dependencies:
```bash
pip install -r requirements.txt
```
4. Set environment variables
- Copy `.env.example` to `.env`:
```bash
cp .env.example .env
```
- Set environment variables listed in the `.env` to your secret environment values.
- Alternatively, create the `.streamlit/secrets.toml` file:
```bash
mkdir .streamlit
touch .streamlit/secrets.toml
```
- Add the Groq API Key and model name to the TOML file:
```bash
GROQ_API_KEY = "your-api-key"
# GROQ Model - The app uses the one set by default
GROQ_MODEL_NAME = "llama-3.3-70b-v …