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先决条件和设置
该项目依赖于外部服务和特定的环境工具:
- PostgreSQL数据库:在127.0.0.1:5432上运行的本地实例,其中填充了public.resale_transactions表(博客文章中提供了DDL)。
- 数据共享MCP服务器:使用Data Commons CLI启动本地实例:
uvx datacommons-mcp serve http --port 8001- 工具箱(PostgreSQL接口):PostgreSQL的MCP工具服务器可以从项目根启动:
.\toolbox- Python环境:使用管理
uv对于依赖隔离:
uv venv
uv init
uv add google-adk litellm toolbox-core 运行代理
此项目结构需要 代理程序 (在主执行逻辑中定义),分层管理 postgres_agent 和 datacommons_agent 通过 sub_agents 争论。
要在本地运行整个多代理系统,请在激活的环境中执行以下命令:
adk web