Enable the necessary APIs

检查我的进度

/ 10

Perform the necessary policy bindings

检查我的进度

/ 5

MCP deploy and test locally

检查我的进度

/ 20

MCP deploy to Cloud Run

检查我的进度

/ 20

Update the agent to use MCP

检查我的进度

/ 5

Deploy the ADK Agent locally

检查我的进度

/ 20

Deploy the ADK Agent on Cloud Run

检查我的进度

/ 10

Verify the deployed ADK Agent

检查我的进度

/ 10

此实验可能会提供 AI 工具来支持您学习。

GSP532

Google Cloud 自学实验

挑战概览

在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。

在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。

要想获得满分,您必须在该时间段内成功完成所有任务!

我们建议参加了使用氛围编程构建智能云应用课程的学员参加此实验室挑战赛。准备好接受挑战了吗?

测试的主题

  • 启用 API 并设置环境变量。
  • 执行 IAM 政策绑定。
  • 在本地部署 MCP 服务器以进行测试,然后部署到 Cloud Run。
  • 使用智能体开发套件 (ADK) 将 Python 应用更新为使用 MCP。
  • 通过 Docker 对 MCP 服务器和 ADK 智能体进行虚拟化并把它们部署到 Cloud Run。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

挑战场景

Cloud Creek Zoo 委托 Cymbal Group 的“数字体验”咨询部门帮助他们部署一套先进的游客互动系统。Cloud Creek Zoo 的最终目标是打造一款 AI 赋能的导游应用。该应用需要准确理解游客问题的情景,并实时给出准确、深入的回答,从而为游客打造引人入胜的体验。系统升级的核心是部署和升级“动物园导游”AI 智能体。该智能体可以通过远程 Model Context Protocol (MCP) 服务器,即“动物园服务器”,查找动物信息。

Cymbal 徽标

在回答游客的问题时,除了使用维基百科提供上下文之外,“动物园导游”智能体还应通过专用的 Google 搜索 MCP 服务器工具访问丰富的实时信息。这样,这个智能体就能回答诸如“给我提供近期有关狮子保护方面的新闻”之类的问题。

一位初级顾问在升级现有“动物园服务器”时犯了一些错误,导致 Python 服务器出现一些问题,无法正常运行。此外,该项目的架构尚未根据 Cymbal Group 严格的 IAM 政策最终确定。

他们希望您能帮忙解决这些问题。

您的挑战

在本实验中,您的角色是 Cymbal Group 的高级 AI 集成专家,您要完成以下任务:

  • 设置项目并启用必要的 API 和服务。
  • 强制执行企业 IAM 政策。
  • 修复出错的 MCP 服务器的代码,并将服务器部署到 Cloud Run 进行测试。
  • 集成并升级“动物园导游”ADK AI 智能体的功能和工作流,以支持 Google 搜索。
  • 通过 Docker 对 ADK 智能体软件包进行虚拟化,并将其部署到 Cloud Run,为部署到生产环境做好准备。

任务 1. 设置环境并启用必要的 API

在此任务中,您将在 Google Cloud 中创建特定于项目的基础架构,以支持大规模 AI 部署。

确保您的 Google Cloud 项目配置能让所需的服务正常运行和有效通信。

下载代码文件

  1. 在 Cloud Shell 中,点击打开编辑器,以打开 Cloud Shell Editor 并进入主目录。

  2. 在 Cloud Shell Editor 操作栏中,点击查看 > 终端

    注意:您可能需要拉长浏览器窗口或点击更多选项 (“更多选项”图标) 才能看到查看菜单选项。

在本实验的后续操作中,您可将此窗口作为集成了 Cloud Shell Editor(顶部)和 Cloud Shell 终端(底部)的 IDE 使用。

关闭屏幕右侧显示的其他教程或 Gemini 面板,以便为代码编辑器留出更大的窗口空间。

  1. 在终端中输入以下命令来设置项目:

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}}

    预期输出: 您应该会收到一条输出消息,确认属性已更新。

  2. 在终端中,运行以下命令来下载和提取样板代码文件:

    gcloud storage cp gs://{{{primary_project.project_id | filled in at lab start}}}-labconfig-bucket/labs_code.zip . unzip labs_code.zip
  3. 运行以下命令来创建环境变量:

    cd ~/zoo_guide_agent cat <<EOF > .env MODEL="{{{primary_project.startup_script.gemini_flash_model_id |filled in at lab start}}}" SERVICE_ACCOUNT="{{{primary_project.startup_script.project_number | filled in at lab start}}}-compute@developer.gserviceaccount.com" MCP_SERVER_URL="https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/" GOOGLE_GENAI_USE_ENTERPRISE=1 GOOGLE_CLOUD_PROJECT={{{primary_project.project_id | filled in at lab start}}} PROJECT_NUMBER={{{primary_project.startup_script.project_number | filled in at lab start}}} GOOGLE_CLOUD_LOCATION={{{primary_project.default_region | filled in at lab start}}} EOF

    最终目录结构应类似于以下结构。

    输出:

    . ├── mcp-on-cloudrun │ ├── Dockerfile │ ├── local_mcp_call.py │ ├── pyproject.toml │ ├── server.py │ └── uv.lock └── zoo_guide_agent ├── agent.py ├── __init__.py ├── .env └── requirements.txt
  4. 最后,启用必需的 API:Agent Platform APIArtifact Registry APICompute Engine APICloud Build APICloud Run Admin API

点击检查我的进度以验证是否完成了以下目标: 启用必需的 API

任务 2. 执行必要的政策绑定(IAM 设置)

自动化服务(Cloud Build 和 Cloud Run)需要特定权限才能相互交互和与 AI Platform 交互。

在此任务中,您必须执行必要的政策绑定,授予用户/服务账号调用 Cloud Run 和使用 AI Platform 的权限。

您需要向相应的服务账号授予以下 IAM 角色:

  • 用户授予 Cloud Run AdminAgent Platform User 角色,以允许其将服务部署到 Cloud Run。

点击检查我的进度以验证是否完成了以下目标: 执行必要的政策绑定

任务 3. 修复 MCP 服务器并将其部署到 Cloud Run

在此任务中,您必须使用 Gemini CLI 来排查问题并恢复 MCP 服务器。该服务器充当应用的骨干,并协调 AI 工具的使用。

修复代码中的问题后,请确保在 Gemini CLI 中使用相关的 Cloud Build 集成命令,将预先存在的远程 MCP 服务器部署到 Gemini CLI 仓库以进行测试。

在本地部署和测试

  1. 在终端中,执行以下命令来运行 ~/mcp-on-cloudrun/server.py:

    cd ~/mcp-on-cloudrun uv run server.py

    您会收到一条错误消息;您需要使用 Cloud Shell 中的 Gemini 修复该错误。

    注意:Gemini CLI 在实际 Python 文件中更新和更改代码需要一些时间。如果 Gemini CLI 要求您授权执行它修复的 Python 文件,请按 ESC 键取消,然后退出 Gemini CLI,并返回到终端。然后执行后续实验步骤,继续完成实验。
  2. 修复错误后,重新运行上一个命令。该命令应该会在本地启动 MCP server,您应该会看到确认启动的输出。

  3. 打开另一个 terminal 实例,运行 ~/mcp-on-cloudrun/local_mcp_call.py,以测试本地部署的智能体:

    注意:如果您收到 google.logging.v2.WriteLogEntriesPartialErrors 错误,请使用 gcloud config set project 命令设置您的项目。 cd ~/mcp-on-cloudrun uv run local_mcp_call.py

    预期输出:结果输出应以 CallToolResult 的形式呈现,并显示成功检索到了有关海象物种的结构化数据。

点击检查我的进度以验证是否完成了以下目标: 在本地部署和测试 MCP

部署到 Cloud Run

注意:在部署过程中,如果系统提示您为 Cloud Shell 授权,请进行授权。
  • 运行以下 gcloud 命令,将应用部署到 Cloud Run:

    cd ~/mcp-on-cloudrun gcloud run deploy {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} \ --no-allow-unauthenticated \ --region={{{primary_project.default_region | filled in at lab start}}} \ --source=. \ --min=1 \ --project={{{primary_project.project_id | filled in at lab start}}} \ --labels=lab-dev=mcp-zoo-cloud-run-service
注意:部署最长可能需要 10 分钟如果在 Cloud Run 部署期间遇到 Quota exceeded for total allowable CPU per project per region 错误,请稍等片刻,然后使用该命令重试。

点击检查我的进度以验证是否完成了以下目标: 将 MCP 部署到 Cloud Run

任务 4. 将智能体更新为使用 MCP

在此任务中,您将部署 Python 智能体代码,并将其链接到新部署的 MCP 服务器。

使用 Gemini CLI 中的 ADK 命令,部署本地(已更新)的 agent.py 文件。将此部署配置为使用任务 3 中部署的 MCP 服务器,使“动物园导游”应用在本地 CLI 环境中运行。

生成令牌并配置 settings.json 文件

  1. 使用以下命令,将您的 Google Cloud 凭证和项目编号保存在环境变量中,以便在 Gemini 设置文件中使用:

    export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)") export ID_TOKEN=$(gcloud auth print-identity-token)
注意:如果您在 Gemini CLI 中收到身份验证错误,可能是因为您的 ID_TOKEN 已过期。这时候可以输入 /quit 命令退出,然后使用 gcloud config set project 命令配置您的项目。
  1. Cloud Shell Editor中,依次选择 View > Toggle hidden files(查看 > 显示/不显示隐藏文件),然后打开或创建 ~/.gemini/settings.json 文件,更新该文件。使用以下命令,在文件中填充以下 Gemini CLI 设置,以添加 Cloud Run MCP 服务器:

    { "mcpServers": { "zoo-remote": { "httpUrl": "https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/", "headers": { "Authorization": "Bearer $ID_TOKEN" } } }, "selectedAuthType": "cloud-shell", "hasSeenIdeIntegrationNudge": true }

打开 Gemini CLI

按照以下步骤打开 Gemini CLI。

  1. 在终端中,运行命令以启动 Gemini CLI。

    您可能需要按 Enter 键接受一些默认设置。 gemini-cli-landing-screen.png

  2. 使用相关斜杠命令,让 Gemini 列出其上下文中可用的 MCP 工具。

  3. 向 Gemini 提问,让它帮忙寻找动物的位置:

    企鹅在哪个位置?

    Gemini CLI 应该知道要使用 zoo-remote MCP 服务器,并询问您是否允许执行 MCP 工具。

  4. 选择始终允许来自 zoo-remote MCP 服务器的所有工具。

    预期输出:输出应显示正确答案,并显示一个框,表明使用了 MCP 服务器。

  1. 使用以下命令提示 Gemini CLI,以使用您创建的新自定义命令:

    /find --animal="lion"

    预期输出:您应该会看到 Gemini CLI 调用 fetch_animals_by_species 工具,并按照 MCP 提示的指示设置回答格式。

  1. 准备好结束会话时,请使用相关命令或键盘快捷键退出 Gemini CLI。

验证服务器日志

  • 在终端中,输入以下命令,以验证服务器日志:

    gcloud run services logs read {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} --region {{{primary_project.default_region| filled in at lab start}}} --limit=5

    预期输出:您应该会看到一个输出日志,确认已进行工具调用。🛠️

点击检查我的进度以验证是否完成了以下目标: 将智能体更新为使用 MCP 并进行验证

任务 5. 通过 Docker 对 ADK 智能体进行虚拟化并将其部署到 Cloud Run

在最后一项任务中,您必须将整个系统从本地测试环境迁移到可扩缩的生产就绪型无服务器环境中。

您需要将整个 ADK 应用容器化,包括 MCP 服务器和集成了 Google 搜索的动物园导游智能体,并将生成的容器映像部署到 Google Cloud Run。您必须确保服务已配置为公开调用,并确认智能体在其公开网址中响应正常。

在本地部署和测试

  1. 打开 ~/zoo_guide_agent/agent.py,查看 TODO 注释,并相应地更新代码以完成智能体设置。

  2. 运行以下命令来安装软件包 zoo_guide_agent

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}} cd ~/zoo_guide_agent python -m venv .venv source .venv/bin/activate pip install --no-cache-dir -r requirements.txt
  3. 运行以下命令以在本地部署 ADK 智能体:

    cd ~ adk web
  4. 在 Cloud Shell 中,按住 Ctrl 键并点击 http://localhost:8000http://127.0.0.1:8000 链接,在新的浏览器标签页中打开 ADK 开发者界面。

  5. 在 ADK 开发者界面中,选择 zoo_guide_agent,并输入以下查询:

    Where can I find bears?

    预期输出: 您应该会看到所有函数调用的事件,以及结合了所有来源信息的查询结果。智能体应提供全球范围内现存物种的大致数量。

注意:整合实际智能体回答可能需要一些时间。

点击检查我的进度以验证是否完成了以下目标: 在本地部署 ADK 智能体

部署到 Cloud Run

  • 在终端中,打开另一个终端实例,然后运行以下命令来部署您的智能体:

    cd ~/zoo_guide_agent uvx --from google-adk \ adk deploy cloud_run \ --project={{{primary_project.project_id | filled in at lab start}}} \ --region={{{primary_project.default_region| filled in at lab start}}} \ --service_name={{{primary_project.startup_script.adk_server_name | filled in at lab start}}} \ --with_ui \ . \ -- \ --labels=lab-dev=cloud-zoo-run-adk-service

借助 uvx 命令,您可以运行以 Python 软件包形式发布的命令行工具,而无需全局安装这些工具。

注意:完成部署平均可能需要 15 分钟。如果系统提示您确认是否允许未经过身份验证的调用,请输入 y 以继续。

点击检查我的进度以验证是否完成了以下目标: 在 Cloud Run 上部署 ADK 智能体

验证已部署的 ADK 智能体

现在,您的智能体已在 Cloud Run 上运行,请执行测试以确认部署成功,并验证智能体是否按预期工作。使用公共服务网址访问 ADK 的网页界面并与智能体互动。

  1. 成功将智能体部署到 Cloud Run 后,按住 Ctrl 键并点击输出中的服务网址,在新的浏览器标签页中打开该网址。

它应采用以下格式。

服务网址输出:

https://{{{primary_project.startup_script.adk_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/

由于您在部署到 Cloud Run 时使用了 --with_ui 标志,因此您应该会看到 ADK 开发者界面。

  1. 在右上角将令牌流式传输切换为开启

  2. 与动物园导游智能体互动。输入以下查询以开始新对话:

    Where can I find elephants?

    预期输出: 您应该会看到所有函数调用的事件,这些事件会解析您的查询,并整合来自所有来源的信息。智能体应提供全球范围内现存物种的大致数量。

注意:整合实际智能体回答可能需要一些时间。

点击检查我的进度以验证是否完成了以下目标: 验证已部署的 ADK 智能体

恭喜!

在本实验中,您证明自己已经学会了使用 Gemini CLI、Google Cloud Run 和 Cloud Build 来配置、测试和部署增强型功能性“动物园导游”ADK 智能体。通过让智能体与专用 MCP 服务器和内置工具进行交互,您显著改善了 Cloud Creek Zoo 的数字化转型工作,让动物园的游客们能够轻松查询动物信息和查找动物的位置。

后续步骤/了解详情

如需详细了解生成式 AI 和 Gemini Enterprise Agent Platform,请查看以下资源:

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 10 月 16 日

上次测试实验的时间:2025 年 10 月 16 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。

完成此快速步骤即可开始实验。