项目简介

'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,使其作为可访问的远程服务运行。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/mauripsale/doc-adk-training.git
    cd doc-adk-training
  2. 创建并激活虚拟环境 (推荐):
    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    # 或者 'venv\Scripts\activate' # Windows
  3. 安装依赖: 该仓库没有提供 'requirements.txt' 文件。根据代码内容,您需要手动安装以下核心依赖:
    pip install google-cloud-aiplatform python-dotenv gymnasium google-generativeai pyserini rich spacy thefuzz beautifulsoup4 flask torch
    python -m spacy download en_core_web_sm
    然后,安装 'personalized_shopping' 代理本身:
    cd sample-agents/personalized-shopping/
    pip install .
    cd ../../
  4. 配置Google Cloud凭据: 在 'sample-agents/personalized-shopping/deployment/' 目录下创建一个名为 '.env' 的文件,并填入您的Google Cloud项目信息:
    GOOGLE_CLOUD_PROJECT="您的Google Cloud项目ID"
    GOOGLE_CLOUD_LOCATION="部署区域,例如 us-central1"
    GOOGLE_CLOUD_STORAGE_BUCKET="用于部署的GCS存储桶名称"
    请确保您拥有访问和部署到Vertex AI的权限。

服务器配置 (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': 表示使用的特定通信协议或集成方式。

基本使用方法

  1. 部署智能代理: 运行 'sample-agents/personalized-shopping/deployment/deploy.py' 脚本来部署个性化购物代理到Google Vertex AI Reasoning Engines。
    python sample-agents/personalized-shopping/deployment/deploy.py
    部署成功后,脚本会输出一个远程应用的ID。请记录这个ID。
  2. 获取App ID: 记录部署脚本输出的'remote_app'的ID。这个ID在上述JSON配置中是'您部署的AdkApp ID'。
  3. MCP客户端连接: 使用上述"服务器配置"中的JSON配置信息,在您的MCP客户端中添加此服务器。客户端将通过这些配置与部署的智能代理进行通信。
  4. 交互: 通过MCP客户端发送请求,例如向代理提问关于商品的问题,或指示它搜索特定商品。例如,客户端可以发送一个消息:"Hello! I'm looking for a blue t-shirt." 代理会根据其逻辑和可用工具进行响应。

信息

分类

AI与计算