此仓库演示了使用 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
该项目依赖于外部服务和特定环境工具:
PostgreSQL 数据库:在 127.0.0.1:5432 运行的本地实例,并填充了 public.resale_transactions 表(DDL 在博客文章中提供)。
Data Commons MCP 服务器:使用 Data Commons CLI 启动本地实例:
uvx datacommons-mcp serve http --port 8001
.\toolbox
uv 进行依赖隔离管理:uv venv
uv init
uv add google-adk litellm toolbox-core
此项目结构需要一个 协调器代理(定义在主执行逻辑中),它通过 sub_agents 参数分层管理 postgres_agent 和 datacommons_agent。
要在本地运行整个多代理系统,请从激活的环境中执行以下命令:
adk web