A2A LangGraph沸腾板
对于那些希望更快、更高效地开始构建具有A2A和MCP服务器集成的AI代理集群的开发人员来说,这个项目是一个样板。
特性
- 创建和管理人工智能团队
- 创建和管理AI代理
- 创建和管理MCP服务器
- 创建和管理工具
- 集成MCP服务器以使用工具
- 监控活动日志
- 创建和管理与人工智能团队/人工智能代理的对话
- 公开Swagger API文档以获取前端集成说明
概念
- 每个AI代理集群可以有多个AI代理团队(AI crews)
- 每个AI团队可以有多个AI代理,由一个监督者(AI团队的默认AI代理)领导
- 每个AI代理都可以通过MCP服务器集成调用工具
运作原理
- 监督代理将通过API调用接收用户的输入(提示),然后使用其当前功能创建详细计划(人工智能代理及其工具不足)
- 然后请求AI代理通过A2A协议执行任务
- 等待所有AI代理完成给定的任务
- 获取所有结果,分析并决定将更多任务分配给AI代理,或完成计划
- 综合结果,并根据原始输入提示响应用户。
工作流程示例:
- 案例1: 简单直接响应 -用户问“你好”,主管决定直接回答一个简单的问题。这不需要代理委派,只需一个工作流步骤即可完成。
- 案例2: 具有终止控制的多代理协作 -用户询问有关芽庄海滩(越南)的旅行建议:
1. 主管收到查询后,创建具有明确终止条件的任务计划 1. 主管委托代理人1(连接到搜索API MCP服务器)查找最热门的景点 1. 主管委派到代理2(连接到搜索API MCP服务器)研究当地美食 1. 每个代理都会在一条消息中向主管反馈其发现 1. 主管将所有信息综合成最终回复 1. 工作流在主管的最终响应后终止(由消息深度限制强制执行)
示例流程图
入门指南
先决条件
- Python 3.11+
- PostgreSQL
安装
- 克隆存储库:
git clone https://github.com/your-username/a2a-langgraph-boilerplate.git
cd a2a-langgraph-boilerplate- 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate- 安装依赖项:
pip install -r requirements.txt- 设置数据库:
- 确保你的PostgreSQL服务器正在运行。 - 创建一个名为的新数据库 a2a-langgraph-boilerplate。您可以使用以下命令:
createdb "a2a-langgraph-boilerplate"- 复制 .env.example 文件到 .env:
cp .env.example .env- 更新 DATABASE_URL 在 .env 文件中包含您的PostgreSQL凭据。
- 创建数据库表:
python create_tables.py运行应用程序
要启动应用程序,请运行以下命令:
uvicorn app.main:app --reload该应用程序将在 http://127.0.0.1:8000.
运行测试
要运行测试,请运行以下命令:
source .venv/bin/activate
which python
python -m pytest tests/ -v运行特定测试
# To run all tests in the tests directory:
python -m pytest tests/
# To run the UUID model tests we implemented:
python -m pytest test_uuid_models.py
# To run a specific test file:
python -m pytest tests/test_crews.py\[专题\]运行AI船员聊天工作流程演示
python -m tests.test_ai_crew_simple_demoAPI文档
API文档由FastAPI自动生成,可从以下URL获取:
- Swagger用户界面: http://127.0.0.1:8000/docs
- 重新记录: http://127.0.0.1:8000/redoc
鸣谢
- @韩国
- github:
- 子组: https://goonnguyen.substack.com/
