项目简介
'doc-adk-training' 仓库是一个全面的Google Agent Development Kit (ADK) 培训课程,旨在帮助开发者从零开始构建、测试、部署和监控AI智能代理。该仓库包含一个名为"个性化购物代理"的示例,它演示了如何利用ADK构建一个能够搜索商品、浏览详情和辅助购买的智能代理。通过部署此代理,可以获得一个符合Model Context Protocol (MCP) 标准的服务器实现。
主要功能点
- 智能代理构建: 使用Google ADK定义和配置智能代理的核心逻辑、指令和工具。
- 工具集成: 代理能够利用'search'和'click'等工具与模拟的网页商店环境进行交互,执行搜索、点击按钮等操作。
- 上下文提供: 代理被部署后,作为MCP服务器,能够向外部LLM客户端提供其内部定义的工具和上下文信息。
- 部署示例: 展示了如何将ADK代理部署到Google Vertex AI Reasoning Engines,使其作为可访问的远程服务运行。
安装步骤
- 克隆仓库:
git clone https://github.com/mauripsale/doc-adk-training.git cd doc-adk-training - 创建并激活虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # macOS/Linux # 或者 'venv\Scripts\activate' # Windows - 安装依赖:
该仓库没有提供 'requirements.txt' 文件。根据代码内容,您需要手动安装以下核心依赖:
然后,安装 'personalized_shopping' 代理本身:pip install google-cloud-aiplatform python-dotenv gymnasium google-generativeai pyserini rich spacy thefuzz beautifulsoup4 flask torch python -m spacy download en_core_web_smcd sample-agents/personalized-shopping/ pip install . cd ../../ - 配置Google Cloud凭据:
在 'sample-agents/personalized-shopping/deployment/' 目录下创建一个名为 '.env' 的文件,并填入您的Google Cloud项目信息:
请确保您拥有访问和部署到Vertex AI的权限。GOOGLE_CLOUD_PROJECT="您的Google Cloud项目ID" GOOGLE_CLOUD_LOCATION="部署区域,例如 us-central1" GOOGLE_CLOUD_STORAGE_BUCKET="用于部署的GCS存储桶名称"
服务器配置 (MCP客户端使用)
部署成功后,您的MCP客户端将需要连接到您部署的'AdkApp'。以下是MCP客户端可能需要配置的JSON格式信息示例,用于连接这个特定的ADK代理服务器:
{ "server_name": "个性化购物代理", "command": "gcloud", "args": [ "ai-platform", "reasoning-engines", "remote-query", "--project=您的Google Cloud项目ID", "--region=部署区域,例如 us-central1", "--app-id=您部署的AdkApp ID", "--session-id=客户端会话ID", "--user-id=客户端用户ID" ], "description": "连接到部署在Google Vertex AI Reasoning Engines上的个性化购物ADK智能代理。", "notes": "请将 '您的Google Cloud项目ID', '部署区域,例如 us-central1', '您部署的AdkApp ID', '客户端会话ID', '客户端用户ID' 替换为实际值。'app-id' 是您通过部署脚本获得的AdkApp ID。", "protocol": "VertexAIReasoningEngineRemoteQuery" }
- 'server_name': 服务器的显示名称,例如"个性化购物代理"。
- 'command': 启动服务器或与之通信的命令。对于部署到Vertex AI Reasoning Engines的AdkApp,客户端通常通过'gcloud ai-platform reasoning-engines remote-query'命令与远程应用通信。
- 'args': 传递给'command'的参数列表。这包括您的Google Cloud项目ID、部署区域、已部署的AdkApp ID以及客户端会话和用户ID。
- 'description': 对此服务器的简要说明。
- 'notes': 配置时的额外提示。
- 'protocol': 表示使用的特定通信协议或集成方式。
基本使用方法
- 部署智能代理: 运行 'sample-agents/personalized-shopping/deployment/deploy.py' 脚本来部署个性化购物代理到Google Vertex AI Reasoning Engines。
部署成功后,脚本会输出一个远程应用的ID。请记录这个ID。python sample-agents/personalized-shopping/deployment/deploy.py - 获取App ID: 记录部署脚本输出的'remote_app'的ID。这个ID在上述JSON配置中是'您部署的AdkApp ID'。
- MCP客户端连接: 使用上述"服务器配置"中的JSON配置信息,在您的MCP客户端中添加此服务器。客户端将通过这些配置与部署的智能代理进行通信。
- 交互: 通过MCP客户端发送请求,例如向代理提问关于商品的问题,或指示它搜索特定商品。例如,客户端可以发送一个消息:"Hello! I'm looking for a blue t-shirt." 代理会根据其逻辑和可用工具进行响应。
信息
分类
AI与计算