GustoBot  by skygazer42

AI-powered customer service agent for specialized knowledge domains

Created 6 months ago
254 stars

Top 99.0% on SourcePulse

GitHubView on GitHub
Project Summary

GustoBot is a comprehensive Multi-Agent customer service system built on LangGraph, specifically tailored for the culinary domain but designed as a transferable template. It addresses the complexity of recipe knowledge by integrating a multi-layered knowledge graph, GraphRAG, Text2SQL, and multi-modal capabilities to offer intelligent assistance, historical context, and nutritional advice, benefiting users seeking deep culinary insights and developers aiming to build domain-specific AI assistants.

How It Works

The system employs a three-layer Multi-Agent architecture: a main routing layer for intent recognition, a multi-tool subgraph layer for task decomposition and tool orchestration using LangGraph, and an atomic tool layer for executing specific functions like Neo4j graph queries, MySQL analysis, and vector retrieval. It prioritizes structured data (PostgreSQL) before falling back to vector search (Milvus) and external APIs, using a Map-Reduce approach for complex queries and Reranker for retrieval accuracy.

Quick Start & Requirements

  • Environment: Python 3.10, Node.js 16+, Docker & Docker Compose.
  • Installation: Clone the repository, configure environment variables by copying .env.example to .env and filling in API keys, then start the backend with docker-compose up -d.
  • Frontend: Navigate to the web directory, run npm install, and then npm run dev.
  • Access: The frontend is accessible at http://localhost:5173 (port configurable via VITE_PORT), and the backend API is at http://localhost:8000.
  • Links: Project Homepage: https://github.com/skygazer42/GustoBot.

Highlighted Details

  • Three-Layer Architecture: Modular design with a Main Router (intent), Multi-Tool Subgraphs (LangGraph orchestration), and Atomic Tools (execution) for clear responsibility separation.
  • PostgreSQL-First Fallback Strategy: Prioritizes structured data in PostgreSQL pgvector, then uses Milvus for semantic search, and finally external APIs for optimal accuracy and speed.
  • Map-Reduce Task Decomposition: A Planner Node breaks down complex queries into sub-tasks for parallel execution by selected tools, aggregated by a Summarize Node.
  • Reranker Dual-Threshold Filtering: Enhances retrieval precision by applying both similarity and rerank score thresholds.
  • Multi-Source Knowledge Fusion: Integrates graph reasoning (Neo4j), SQL analysis (MySQL), semantic retrieval (Milvus/PostgreSQL), and external search for comprehensive information.
  • Transferable Domain Template: Easily adaptable to other vertical domains by swapping knowledge sources and graph schemas.
  • Multi-Modal Interaction: Supports text Q&A, image recognition/generation (Vision Model, CogView-4), and file analysis (Excel, TXT, Markdown).
  • Guardrails for Safety: Ensures queries remain within the service scope, rejecting out-of-domain requests.

Maintenance & Community

  • Issue Tracker: Available at https://github.com/skygazer42/skygazer42/issues.
  • Contact: Project maintainers can be reached via email at 207829897@qq.com.
  • Project Homepage: https://github.com/skygazer42/GustoBot.

Licensing & Compatibility

  • License: Apache License 2.0.
  • Compatibility: The Apache 2.0 license is permissive, generally allowing for commercial use and integration into closed-source projects.

Limitations & Caveats

The Guardrails layer is designed to reject queries outside the defined service scope, potentially limiting exploratory questions. While the system is built as a transferable template, adapting it to new domains requires significant effort in replacing knowledge sources and graph schemas. Some functionalities rely on external APIs (e.g., Reranker, Vision Model), which may introduce cost or availability dependencies.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
2
Star History
98 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.