GustoBot Recipe Knowledge Assistant
Connect recipe, ingredient, cooking, and food-culture knowledge through multi-agent Q&A.
- Source repo
- skygazer42/GustoBot
- Stars
- ★ 409
- Last updated
- 1mo ago
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 45/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changes
- Cost
- Free software; you pay for model usage
- Setup effort
- High · needs real infrastructure
- You'll need
- Typical use
- A recipe platform team wants users to ask natural-language questions about dishes, ingredients, cuisines, or cooking steps.
- Not a fit if
- Teams seeking a lightweight Q&A app without multiple self-hosted services
- Production deployments requiring fully verifiable provenance for all sample data
- Source review
- 45/100 · Major gaps 2 safety controls not found
What does this agent do, and when should you use it?
GustoBot is a LangGraph-based recipe Q&A and multimodal service with a React frontend and FastAPI backend. Its main router dispatches questions to knowledge-base or GraphRAG subgraphs, which can call Neo4j, MySQL, PostgreSQL pgvector, Milvus, and an external search API. The system combines Text2SQL, Cypher queries, vector retrieval, and LightRAG retrieval, and can produce answers with source references; the README also describes dish image recognition and generation, file analysis, and Redis-backed conversation management. The quickstart starts the backend with Docker Compose and runs the frontend locally. It is a fit for teams seeking a reusable vertical-domain support template who are prepared to configure several data services.
For a text question, image, or file, the LangGraph main workflow runs analyze_and_route_query and selects general response, knowledge-base search, GraphRAG search, image handling, or file handling. A tool subgraph applies Guardrails and can use a Planner to break down a task before selecting tools such as cypher_query, predefined_cypher, microsoft_graphrag_query, or text2sql_query. The knowledge-base flow checks PostgreSQL pgvector first and falls back to Milvus when it finds no results; it can also use a reranker and external search. The system combines retrieved or database results into an answer with sources. Image features use a Vision Model and CogView-4, while file handling supports Excel, TXT, Markdown, and JSON. The README does not provide a verifiable API path or a first-request example.
- A recipe platform team wants users to ask natural-language questions about dishes, ingredients, cuisines, or cooking steps.
- A food-culture editor needs to retrieve dish stories and historical context from a local knowledge base, with optional external search.
- A data team wants natural-language recipe counts, rankings, or aggregates translated to SQL and run against MySQL.
- An operations team wants to analyze uploaded Excel, TXT, Markdown, or JSON recipe material.
- A product team wants dish identification from images or dish image generation from a description.
How do you install or deploy this agent?
The quickstart requires Python 3.10, Node.js 16+, Docker, and Docker Compose. It shows how to clone the repository, copy the environment file, start the Docker backend, and run the frontend locally. You must also edit .env to configure required API keys; the README does not enumerate every required variable, key provider, or database initialization step.
git clone https://github.com/skygazer42/GustoBot.git
cd GustoBot
cp .env.example .env
# Edit .env to configure the required API keys
docker-compose up -d
cd web
npm install
npm run devHow do you use this agent?
After startup, open http://localhost:5173 to use the frontend. The README lists the backend API at http://localhost:8000 and says the frontend port can be changed with VITE_PORT. It does not document a specific API endpoint, request format, or copyable first API call. Query, image, or external-search features also require the relevant services and API keys in .env.
Frontend: http://localhost:5173
Backend API: http://localhost:8000What are this agent's strengths and limitations?
- The three-layer LangGraph design separates routing, subgraph orchestration, and atomic tools; the README describes migration to other verticals by replacing the knowledge source and graph schema.
- The GraphRAG subgraph supports Cypher, predefined Cypher, LightRAG, and Text2SQL tools, with task decomposition and parallel execution.
- Knowledge retrieval checks PostgreSQL pgvector first, falls back to Milvus, and can use a reranker and external search.
- The README describes image recognition and generation, file analysis, source references, and Redis-backed conversation history.
- Deployment involves Docker Compose, frontend and backend runtimes, and services including Neo4j, MySQL, PostgreSQL pgvector, Milvus, and Redis.
- You must configure required API keys; the README does not fully list variables, providers, pricing, or initialization steps for every service.
- The README says some historical food texts and 8 pgvector example records lack verifiable upstream provenance, so they are only suitable for demonstrating the pipeline.
- Although source attribution is described, the README provides no specific API path, request example, or complete account of service failure behavior.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| GustoBot Recipe Knowledge Assistant This agent | 45 · Major gaps | Self-hosted serviceFree + model costs | ★ 409 | 1mo ago | Python | — |
| Yuxi – Self-Hosted Multi-Tenant Knowledge Agent Platform | 41 · Major gaps | Self-hosted serviceFree + model costs | ★ 7.4k | 3d ago | Python | OpenAI API |
| WrenAI GenBI | 53 · Major gaps | CLIFreemium | ★ 18k | today | Python | Codex · Claude Code |
| WhoDB | 51 · Major gaps | Self-hosted serviceFreemium | ★ 5k | today | Go | — |
How does FollowAgents rate this agent?
Why each dimension lost points
The README describes multiple data sources, external search, image and file handling, and source-labeled answers. The data lineage note also admits that some historical texts and eight pgvector sample records lack verifiable upstream provenance, so data flows are partly visible but source coverage is incomplete (2). Guardrails, schema checks, and optional Cypher validation are described, but there is no evidence of user confirmation, rollback, or sensitive-data storage and retention controls (0, 0, and 1 respectively). Most dependencies are pinned, but LightRAG has an open version range and no vulnerability response evidence is provided (1). Least-privilege and external side-effect controls are not evidenced (1 each).
README, pyproject.toml, and requirements.txt disagree on Python support (3.10, >=3.9, and mixed dependency declarations); some PostgreSQL fallback descriptions also differ across the architecture narrative, so consistency is partial (1). Docker startup is documented, but the system requires several databases, models, and external APIs, and dependency/configuration availability is not established (1). Test scripts show exception capture or error events, but consistent user-facing recovery guidance is not evidenced (1).
The recipe-support scenario, query classes, multimodal capabilities, and vertical-domain migration idea are described concretely enough for ordinary use assessment (2). Domain boundaries and rejection behavior are described, though implementation evidence for those boundaries is limited (2). Heuristic plus LLM routing and example queries show intended triggers, but thresholds and misrouting handling are absent (1). Python, Node, and Docker requirements are listed, but the Python versions conflict and external-service configuration is incomplete (1).
The README organizes architecture, features, workflows, and setup clearly, though it is lengthy (2). Quick start gives basic commands and an .env reminder but omits required variable and service configuration details (1). Module and route names are illustrated, but version requirements conflict and terminology is mixed in places (1). Feature tables, diagrams, and routing cases are useful examples, though no FAQ is provided (2). Data provenance caveats and the Security Policy support scope describe some limitations (2). The repository includes the full Apache-2.0 license text (3). pyproject has a version and SECURITY.md states branch support, but there is no changelog or release history evidence (1). Security reporting channels and support for the latest develop branch are stated, while author metadata remains placeholder text, limiting clarity about responsibility (1).
The system promises answers, sources, and session history; multi-source retrieval and SQL/graph/multimodal features fit recipe support, but verifiable output-quality evidence is limited (2). Structured queries, graph knowledge, and file/image capabilities offer domain value beyond basic chat, though these remain largely documented claims (2). Deployment needs numerous databases, models, and external APIs, creating notable setup and operating costs without estimates (1).
The README maps many features to modules, tools, and data sources, and discloses data without retained provenance; this gives some traceability, though implementation evidence is limited (2). LICENSE, dependency inventory, test scripts, and security policy corroborate some repository facts, but core capabilities rely mainly on README claims and test files do not establish executed results (1). The provenance note distinguishes sourced data from demo data with missing upstream attribution, while many security features are presented as design descriptions, providing partial separation of fact from claim (2).
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Before deployment, reconcile the Python version and dependency configuration, and confirm the settings required for PostgreSQL, Milvus, Neo4j, MySQL, Redis, and model/API services.
- Do not treat historical texts and pgvector sample records without verifiable upstream provenance as confirmed sources; handling and retention of uploaded files, conversations, and external API data are not adequately described in the supplied material.
FAQ
What does it cost to run?
What do I need before deployment?
.env.