GustoBot Recipe Knowledge Assistant

Connect recipe, ingredient, cooking, and food-culture knowledge through multi-agent Q&A.

Stars
★ 409
Last updated
1mo ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Self-hosted serviceWeb app
Works with
Portable with changes
Cost
Free software; you pay for model usage
Setup effort
High · needs real infrastructure
You'll need
Python 3.10Node.js 16+DockerDocker ComposeNeo4jMySQLPostgreSQL pgvectorMilvusRedisShell / CLINetwork accessLocal filesystem
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

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.

  1. A recipe platform team wants users to ask natural-language questions about dishes, ingredients, cuisines, or cooking steps.
  2. A food-culture editor needs to retrieve dish stories and historical context from a local knowledge base, with optional external search.
  3. A data team wants natural-language recipe counts, rankings, or aggregates translated to SQL and run against MySQL.
  4. An operations team wants to analyze uploaded Excel, TXT, Markdown, or JSON recipe material.
  5. 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 dev

How 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:8000

What are this agent's strengths and limitations?

Pros
  • 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.
Limitations
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
45/ 100 5-point scale 2.3 / 5
Trust 10/29
Reliability 5/14
Adaptability 9/18
Convention 10/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

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).

Reliability5 / 14 · 1.8/5

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).

Adaptability9 / 18 · 2.5/5

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).

Convention10 / 18 · 2.8/5

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).

Effectiveness7 / 13 · 2.7/5

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).

Verifiability4 / 8 · 2.5/5

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).

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Oct 13, 2026 Reviewed revision 09fadecd87d7
See the full review method →

FAQ

What does it cost to run?
The repository uses the Apache License 2.0, but the README does not state API or model-service pricing. Required API keys may involve third-party charges, so check the selected services' billing terms.
What do I need before deployment?
The quickstart lists Python 3.10, Node.js 16+, Docker, and Docker Compose. The architecture also uses Neo4j, MySQL, PostgreSQL pgvector, Milvus, and Redis, and requires API keys in .env.
Can it answer questions outside the recipe domain?
The default system is scoped to recipe services and checks questions with Guardrails. The README presents other domains as a template migration requiring replacement knowledge sources and graph schema, not as turnkey coverage.
Is the bundled data ready for production?
The README attributes the main recipe data to OpenKG RecipeGraph. It says some historical food texts and 8 pgvector example records have no verifiable upstream source and are suitable only for pipeline demonstrations.
View on GitHub ↗ Install ↓

Related agents