多代理系统开发工具

使用Google的ADK(代理开发工具包)构建多代理系统,支持自然语言查询本地PostgreSQL数据库和Data Commons MCP API。

  • by seehiong
  • Jupyter Notebook
  • 本地部署
  • 38 星标
  • 更新于
在 GitHub 查看 seehiong/adk-web-multi-agent

使用说明

ADK-Web多代理系统

此存储库演示了使用以下方法构建多代理系统 **谷歌的ADK(代理开发工具包)**该系统允许跨两个不同的数据源进行自然语言查询:本地 PostgreSQL HDB转售数据数据库和 数据共享MCP API 全球通用统计数据。

该架构实现了 协调员/调度员 将专门查询路由到正确代理的模式。

请在此处阅读完整指南: ADK-Web多代理系统

项目结构

adk-web-multi-agent-system/
├── tools.yaml               # MCP Toolbox configuration for PostgreSQL tools
├── toolbox_playground.ipynb # Jupyter Notebook containing testing/execution code
├── pyproject.toml           # Project dependencies managed by uv
├── .gitignore
└── agents/                  # Directory for individual specialist agents
    ├── __init__.py          # Makes 'agents' a package
    ├── agent.py             # Defines the Coordinator LLM Agent
    ├── datacommons_agent/   # Agent for global Data Commons queries
    │   ├── __init__.py
    │   ├── agent.py         # Defines the Data Commons LLM Agent
    │   └── instructions.py
    └── postgres_agent/      # Agent for structured HDB PostgreSQL queries
        ├── __init__.py
        ├── agent.py         # Defines the PostgreSQL LLM Agent
        └── instructions.py

先决条件和设置

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

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

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

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

uv init 
uv add google-adk litellm toolbox-core 

运行代理

此项目结构需要 代理程序 (在主执行逻辑中定义),分层管理 postgres_agent 和 datacommons_agent 通过 sub_agents 争论。

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

adk web