返回市场
a2a语言图谱基础框架

a2a语言图谱基础框架

作者:mrgoonie38 星标更新:2025-07-07

项目介绍

A2A LangGraph 模板项目

该项目是一个模板,旨在帮助开发者更快、更高效地开始构建集成A2A和MCP服务器的AI代理集群。

特性

  • 创建与管理AI团队
  • 创建与管理AI代理
  • 创建与管理MCP服务器
  • 创建与管理工具
  • 集成MCP服务器以使用工具
  • 监控活动日志
  • 创建与管理与AI团队/代理的对话
  • 提供Swagger API文档以供前端集成说明

概念

  • 每个AI代理集群可以有多个AI代理团队(AI团队)
  • 每个AI团队可以有多个AI代理,由一个监督者(AI团队的默认AI代理)领导
  • 每个AI代理可以通过MCP服务器集成调用工具

工作原理

  • 监督者代理通过API调用接收用户输入(提示),然后根据其当前能力(下属的AI代理及其工具)创建详细的计划
  • 然后请求AI代理通过A2A协议执行任务
  • 等待所有AI代理完成给定的任务
  • 获取所有结果,分析并决定是否分配更多任务给AI代理,或完成计划
  • 综合结果,并基于原始输入提示响应用户。

示例工作流程:

  • 情况1:简单直接响应 - 用户询问“你好”,监督者决定直接用简单的回答回应。这不需要代理委托,并在单个工作流步骤中完成。
  • 情况2:多代理协作与终止控制 - 用户询问关于越南芽庄海滩的旅行建议:
    1. 监督者接收到查询并创建具有明确终止条件的任务计划
    2. 监督者委托给代理1(连接到搜索API MCP服务器)查找顶级景点
    3. 监督者委托给代理2(连接到搜索API MCP服务器)研究当地美食
    4. 每个代理将其发现的结果以单条消息形式返回给监督者
    5. 监督者综合所有信息形成最终回复
    6. 在监督者的最终回复后终止工作流(通过消息深度限制强制)

示例流程图

<示例流程图>

开始使用

先决条件

  • Python 3.11+
  • PostgreSQL

安装

  1. 克隆仓库:

    git clone https://github.com/your-username/a2a-langgraph-boilerplate.git
    cd a2a-langgraph-boilerplate
    
  2. 创建并激活虚拟环境:

    python3 -m venv venv
    source venv/bin/activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 设置数据库:

    • 确保你的PostgreSQL服务器正在运行。
    • 创建一个新的名为a2a-langgraph-boilerplate的数据库。你可以使用以下命令:
      createdb "a2a-langgraph-boilerplate"
      
    • .env.example文件复制为.env
      cp .env.example .env
      
    • 使用你的PostgreSQL凭据更新.env文件中的DATABASE_URL
  5. 创建数据库表:

    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

运行特定测试

# 要运行tests目录下的所有测试:
python -m pytest tests/

# 要运行我们实现的UUID模型测试:
python -m pytest test_uuid_models.py

# 要运行特定的测试文件:
python -m pytest tests/test_crews.py

[特殊] 运行AI团队聊天工作流程演示

python -m tests.test_ai_crew_simple_demo

API 文档

API文档由FastAPI自动生成,可在以下URL访问:

致谢