How mudiyamganesh/recipegpt works
RecipeGPT is a recipe-question chat application: a user asks for recipes or ingredient and meal-planning help, the backend retrieves recipe-dataset context, and a conversational LLM returns an answer. The React interface also supports recent-chat management and food imagery. The backend persists conversations as JSON and serves images from a local directory. The README excerpt is unreadable, so capabilities are based on the prompt and sampled source; the excerpts do not show every interface detail.
Main entry points: main.py API and chat state · App.jsx Chat UI · recipe.py Chain setup · index.faiss FAISS index
Components 13
Chat interface
- Chat UI
frontend/src/App.jsx
Chat API
- API and chat state
main.py - Saved conversations
main.py - Local food images
main.py
Recipe knowledge
- Recipe dataset
Dataset.csv - FAISS index
faiss_index/index.faiss - Recipe retrieval
recipe.py
Answer generation
- Chain setup
recipe.py - Conversation memory
recipe.py - Recipe prompt
recipe.py - Groq language model
recipe.py
Other components
- User
- Groq service
Connections 19
- User → Chat UI: asks
- Chat UI → API and chat state: sends chat and history requests
- API and chat state → Chain setup: creates chain via
- Chain setup → Recipe dataset: loads
- Chain setup → FAISS index: loads or builds
- Chain setup → Recipe retrieval: configures
- API and chat state → Recipe retrieval: queries through chain
- Recipe retrieval → FAISS index: searches
- API and chat state → Conversation memory: uses chain memory
- API and chat state → Groq language model: invokes through chain
- Recipe retrieval → Recipe prompt: supplies context
- Conversation memory → Recipe prompt: supplies history
- Recipe prompt → Groq language model: guides generation
- Groq language model → Groq service: calls
- API and chat state → Saved conversations: reads and writes
- API and chat state → Local food images: reads
- API and chat state → Chat UI: returns answers and chat data
- API and chat state → Chat UI: returns images
- Chat UI → User: displays responses