返回市场
多代理web前端

多代理web前端

作者:seehiong9 星标更新:2025-11-03

项目介绍

ADK Web 多代理系统

此仓库演示了使用 Google 的 ADK(代理开发工具包) 构建多代理系统。该系统允许通过自然语言查询两个不同的数据源:本地的 PostgreSQL 数据库用于 HDB 转售数据以及 Data Commons MCP API 用于通用全球统计数据。

架构实现了一个 协调器/调度器 模式,以将专门的查询路由到正确的代理。

阅读完整指南: ADK Web 多代理系统

项目结构

adk-web-multi-agent-system/
├── tools.yaml               # 针对 PostgreSQL 工具的 MCP 工具箱配置
├── toolbox_playground.ipynb # 包含测试/执行代码的 Jupyter Notebook
├── pyproject.toml           # 使用 uv 管理的项目依赖项
├── .gitignore
└── agents/                  # 单个专业代理的目录
    ├── __init__.py          # 将 'agents' 设置为一个包
    ├── agent.py             # 定义协调器 LLM 代理
    ├── datacommons_agent/   # 全球 Data Commons 查询代理
    │   ├── __init__.py
    │   ├── agent.py         # 定义 Data Commons LLM 代理
    │   └── instructions.py
    └── postgres_agent/      # 结构化 HDB PostgreSQL 查询代理
        ├── __init__.py
        ├── agent.py         # 定义 PostgreSQL LLM 代理
        └── instructions.py

预备条件及设置

该项目依赖于外部服务和特定环境工具:

  1. PostgreSQL 数据库:在 127.0.0.1:5432 运行的本地实例,并填充了 public.resale_transactions 表(DDL 在博客文章中提供)。

  2. Data Commons MCP 服务器:使用 Data Commons CLI 启动本地实例:

uvx datacommons-mcp serve http --port 8001
  1. 工具箱(PostgreSQL 接口):可以从项目根目录启动 MCP 工具服务器:
.\toolbox
  1. Python 环境:使用 uv 进行依赖隔离管理:
uv venv

uv init 
uv add google-adk litellm toolbox-core 

运行代理

此项目结构需要一个 协调器代理(定义在主执行逻辑中),它通过 sub_agents 参数分层管理 postgres_agentdatacommons_agent

要在本地运行整个多代理系统,请从激活的环境中执行以下命令:

adk web