multi-agent-rag-customer-support
多智能体 RAG 客服系统,基于 LangGraph 协调航班、酒店、租车、观光四个专业 AI 助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
多智能体 RAG 客服系统,基于 LangGraph 协调航班、酒店、租车、观光四个专业 AI 助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你运营一家旅行公司,用户同时在问:"我想改签明天去东京的航班","能推荐附近有温泉的酒店吗","当地有什么一日游活动"——这三个问题分属不同业务域(机票、酒店、旅游),一个通用 AI 客服很难精准回答每一个,稍有混淆就会给出错误信息。
ro-anderson/multi-agent-rag-customer-support 解决的就是这个问题:不是训练一个超级 AI,而是让一群专业 AI 互相协作,各管一摊,配合默契。
这个项目由独立开发者 ro-anderson 创建,他在 LinkedIn 资料中自称 Data Scientist / ML Engineer / AI Engineer,项目架构设计明显借鉴了其在数据工程团队协作中积累的实战经验。
项目诞生于 2024 年 9 月,采用 Python + LangChain + LangGraph 技术栈,目标场景是旅行行业全链路客服:航班、酒店、租车、观光四个核心业务域各配备一个专属 AI 助手,外加一个"主调度员"负责分发任务——类似一家旅行社里,前台接待员(主助手)根据客户需求分配给机票专员、酒店专员、导游。
项目基于 LangGraph 的 StateGraph 实现多智能体协调,核心逻辑封装在 customer_support_chat/app/graph.py 中,架构如下:
passenger_id),作为上下文传递给后续处理每个专业助手都有两套工具集:
这种"安全门控"设计非常关键——在实际客服场景中,AI 错误修改了用户航班或预订了不可取消的酒店,后果远比"答非所问"严重。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| LLM 编排框架 | LangGraph | 状态图编排、多 Agent 协调 |
| LLM 接入 | LangChain OpenAI | 统一接口调用 GPT-4 等模型 |
| 向量数据库 | Qdrant | 存储旅行相关知识库的向量嵌入 |
| 网络搜索 | DuckDuckGo Search | 实时查询航班/酒店/景点信息 |
| 可观测性 | LangSmith | 追踪请求链路、Tool 调用和错误 |
| 数据处理 | Pandas, AioHTTP | 批量数据处理与异步 HTTP 请求 |
| 会话记忆 | LangGraph MemorySaver | Checkpointer 保存对话状态 |
依赖 pyproject.toml 完整依赖:langgraph、langchain-openai、langchain-community、qdrant-client、duckduckgo-search、pandas 等。
项目提供 docker-compose 一键部署,但实际运行体验是纯命令行交互(stdin/stdout),非 Web 界面。启动后用户直接在终端输入问题,AI 通过 Stream pipeline 逐条返回结果。EXPOSE 8501 在 Dockerfile 中标注了端口,但代码中没有对应的 Streamlit 服务——这是文档与实现的轻度不一致。
本地开发模式(poetry install + 直接运行 main.py)需要提前准备:Qdrant 向量数据库、OPENAI_API_KEY 环境变量,以及通过 download_and_prepare_db() 下载旅游知识库数据。
部署步骤简化为:克隆代码 → 复制 .dev.env 填入 API Key → docker-compose up → 享受 15 分钟内启动的多智能体客服系统。
README 中提供了生产级 AWS 部署建议,这是一个完整的数据工程视角:
这套架构设计体现了作者在数据工程和 ML 部署领域的经验,但需要注意的是:它是一份参考设计图,而非开箱即用的 Terraform/CDK 代码。
多智能体协作是 2024 年 AI 工程领域的核心方向之一。从单一大模型到"一群小专家配合",代表了一种范式转变——与其让一个模型学会所有,不如让每个模型专注做好一件事。这个项目以旅行客服为切入点,展示了如何用 LangGraph 将这一理念落地为可运行的代码,对于想搭建垂直领域 AI Agent 系统的团队,是一份有价值的参考实现。
同时,项目暴露的局限性(License 缺失、Web UI 缺失、API Key 硬依赖)也反映了当前 AI Agent 开源生态的普遍状态:demo 能力强,但生产落地还需要大量工程补全工作。