使用说明
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(连接到搜索API MCP服务器)查找最热门的景点
- 主管委派到代理2(连接到搜索API MCP服务器)研究当地美食
- 每个代理都会在一条消息中向主管反馈其发现
- 主管将所有信息综合成最终回复
- 工作流在主管的最终响应后终止(由消息深度限制强制执行)
示例流程图
入门指南
先决条件
- 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_demo
API文档
API文档由FastAPI自动生成,可从以下URL获取:
- Swagger用户界面: http://127.0.0.1:8000/docs
- 重新记录: http://127.0.0.1:8000/redoc