使用说明
多代理客户服务系统(A2A+MCP+LLM)
概述
一个分布式多代理系统,旨在自动化客户服务工作流程。该架构利用 代理人对代理人(A2A) 任务委托协调 模型上下文协议(MCP) 用于安全的数据库访问,以及 大型语言模型(LLM) 用于智能意图分类和自然语言生成。
该系统协调了三个自主代理,使用确定性工具和生成式人工智能的组合来处理复杂的客户查询、数据检索和票务管理。
建筑
- 路由器代理(端口8100): 编排者。使用LLM(通过Hugging Face API)分析自然语言查询,提取实体,并将任务路由到适当的专家。
- 客户数据代理(端口8101): 数据专家。与MCP服务器接口,以获取和更新客户记录。
- 支持代理(端口8102): 支持专家。管理工单创建和状态检查。使用LLM根据工具输出生成简洁的对话式响应。
- MCP服务器(标准): 数据库接口。通过以下方式公开SQLite工具
FastMCP超过标准输入/输出。
先决条件
- Python 3.10+
安装
-
克隆存储库:
git clone <repository_url> cd multi_agent_customer_service -
设置虚拟环境:
python -m venv venv # Mac/Linux: source venv/bin/activate # Windows: venv\Scripts\activate -
安装依赖关系:
pip install -r requirements.txt -
初始化数据库: 生成
support.db以及种子初始数据。python -m mcp_server.database_setup与……确认
y当提示时。
用法
重要提示: 您必须设置您的拥抱脸令牌,以便代理智能运行。
-
设置API令牌:
-
发射代理: 打开三个单独的终端窗口(确保venv处于活动状态,并且每个窗口中都设置了令牌):
- 终端1(数据):
python -m agents.customer_data_agent - 2号航站楼(支持):
python -m agents.support_agent - 终端3(路由器):
python -m agents.router_agent
- 终端1(数据):
测试与验证
1.端到端场景
执行集成测试套件以验证代理协调、任务分配和协商流程。这包括测试自然语言输入(例如,“我想拿回我的钱”),以验证LLM意图分类。
python -m tests.run_scenarios