网易首页 > 网易号 > 正文 申请入驻

ADK智能体在Cloud Run上的完整部署指南

0
分享至


在我们之前对Google智能体开发工具包(ADK)的详细介绍中,我向您展示了使用ADK构建AI智能体的三种方法:Python、YAML和可视化构建器。虽然本地开发非常适合原型设计,但生产级智能体需要部署到能够扩展并为真实用户提供服务的环境中。

Google Cloud Run是ADK智能体的天然选择。作为一个完全托管的无服务器平台,它处理基础设施问题,让您专注于智能体逻辑。这种部署特别优雅的原因是ADK内置的adk deploy cloud_run命令,它可以打包您的智能体、构建容器镜像、推送到Artifact Registry并部署到Cloud Run——所有这些都在一个步骤中完成。

在本教程中,我将指导您将天气和时间智能体部署到Cloud Run,包括使用Google Secret Manager进行安全的API密钥管理。最后,您将拥有一个通过公共URL访问的生产级智能体,并启用ADK网络界面进行交互式测试。

部署流程概述

在深入实施之前,让我们了解将ADK智能体部署到Cloud Run时发生的情况。

adk deploy cloud_run命令自动化了几个复杂的操作。它分析您的项目结构和依赖项以生成优化的Docker镜像。然后将此镜像推送到Google Artifact Registry,这是Google Cloud项目内的安全容器存储库。最后,Cloud Run提供运行您智能体的无服务器实例,具有自动扩展、HTTPS和IAM集成功能。

--with_ui标志很有用,因为它将ADK网络开发界面与您智能体的API服务器捆绑在一起,为您提供直接在浏览器中测试对话的交互界面。

准备工作

开始之前,请确保您具备:

安装Python 3.10或更高版本

安装并配置Google Cloud SDK (gcloud)

启用了计费的Google Cloud项目

启用以下API:Cloud Run、Artifact Registry、Secret Manager和Vertex AI

来自Google AI Studio的Google API密钥(用于Gemini访问)

创建智能体项目

让我们创建具有所需目录结构的智能体项目。ADK需要特定的布局才能正常部署。

创建智能体的新目录,ADK要求您的智能体目录中有三个文件:__init__.py、agent.py和requirements.txt。部署工具会在您的智能体代码中查找名为root_agent的变量——这种命名约定是必需的。

创建__init__.py文件,此文件将目录标记为Python包并导入智能体模块。

实现智能体逻辑

创建包含天气和时间工具的agent.py文件。智能体定义了两个工具:get_weather和get_current_time。注意每个函数都包含带有类型提示的详细文档字符串——ADK使用这些来帮助大语言模型理解何时以及如何调用每个工具。root_agent变量是ADK部署命令将查找的入口点。

创建requirements.txt文件。您的项目结构现在应该如下所示:

requirements.txt

weather_time/

├── __init__.py

├── agent.py

本地测试

在部署到Cloud Run之前,验证您的智能体在本地环境中正常工作至关重要。在项目根目录中创建.env文件,将占位符替换为您实际的Google AI Studio API密钥。

导航到父目录并在本地运行智能体。使用以下提示测试智能体:

"纽约的天气如何?"

"纽约现在几点?"

确认智能体正确响应后,输入exit退出本地会话。现在我们准备部署到Cloud Run。

配置秘密管理

生产部署永远不应该硬编码API密钥。Google Secret Manager为敏感凭证提供安全存储和访问控制。让我们在那里存储API密钥。

首先,为您的Google Cloud项目设置环境变量,从API密钥创建秘密。Cloud Run服务账户需要访问此秘密的权限。授予Secret Accessor角色,将PROJECT_NUMBER替换为您实际的Google Cloud项目号码。

执行部署

配置秘密后,我们准备部署。设置部署变量并执行部署命令。

让我们分解这些参数:在部署期间,可能会提示您关于未经身份验证的访问。对于初始测试,您可以允许它;但对于生产部署,建议要求身份验证。

部署过程需要几分钟。完成后,您将看到类似的输出:部署成功!服务URL: https://weather-time-xxxxx.us-central1.run.app

测试已部署的智能体

在浏览器中打开服务URL。由于您包含了--with_ui标志,您将看到ADK开发者界面。这与您在本地开发期间使用的UI相同,现在在Cloud Run上运行。

在右上角启用"Token Streaming"以提高响应性。您现在可以与已部署的智能体交互:询问"今天纽约的天气如何?"智能体应该使用get_weather工具响应,返回纽约的天气信息。

尝试后续问题:"那里现在几点?"智能体将调用get_current_time工具提供纽约时区的当前时间。

清理资源

为避免产生未来费用,在完成实验后删除Cloud Run服务。您可能还想删除秘密。

总结

本教程演示了从本地ADK智能体到生产Cloud Run部署的最快路径。adk deploy cloud_run命令抽象了容器化复杂性,让您专注于智能体逻辑,同时利用Cloud Run的无服务器可扩展性。

在后续教程中,我们将探索高级部署场景,包括将ADK智能体连接到MCP服务器进行外部工具集成、使用Cloud SQL实现会话持久性、部署具有顺序和并行编排模式的多智能体系统,以及配置GPU加速后端来运行Gemma等开放模型。

您在这里构建的基础——理解部署工作流程、安全管理秘密和使用网络界面测试——将在我们处理越来越复杂的生产架构时为您提供良好的服务。

Q&A

Q1:Google Cloud Run适合部署ADK智能体的原因是什么?

A:Google Cloud Run是完全托管的无服务器平台,它处理基础设施问题让开发者专注于智能体逻辑。ADK内置的adk deploy cloud_run命令可以一键完成打包智能体、构建容器镜像、推送到Artifact Registry并部署到Cloud Run的全部流程,支持自动扩展、HTTPS和IAM集成。

Q2:为什么生产环境不能硬编码API密钥?

A:生产部署中硬编码API密钥存在严重安全风险。应该使用Google Secret Manager来安全存储和管理敏感凭证,它提供访问控制和权限管理功能,确保只有授权的服务账户才能访问API密钥。

Q3:--with_ui标志在部署中有什么作用?

A:--with_ui标志会将ADK网络开发界面与智能体的API服务器捆绑部署,提供交互式的浏览器界面用于测试对话。部署完成后,可以通过服务URL直接在浏览器中与智能体进行交互测试,无需额外的开发工具。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
韩国真的没小孩了!

韩国真的没小孩了!

奋斗在韩国
2026-01-13 13:42:26
广东宏远拒绝输球!全力击败上海男篮,奎因对位张镇麟,央视直播

广东宏远拒绝输球!全力击败上海男篮,奎因对位张镇麟,央视直播

体坛瞎白话
2026-01-14 15:04:40
冷知识:你身上最关键的东西,只继承自你的母亲,与父亲无关

冷知识:你身上最关键的东西,只继承自你的母亲,与父亲无关

徐德文科学频道
2026-01-14 15:17:02
曝乌克兰地面部队攻击莫斯科!摧毁俄军防空阵地

曝乌克兰地面部队攻击莫斯科!摧毁俄军防空阵地

项鹏飞
2026-01-12 21:45:02
3大外援合砍52分,有惊无险5连胜,升至第4,杜锋爱将空砍13分6帽

3大外援合砍52分,有惊无险5连胜,升至第4,杜锋爱将空砍13分6帽

萌兰聊个球
2026-01-14 21:37:23
进京检查站大变样:白庙排队缩至3分钟,燕郊通勤迈入“分钟级”

进京检查站大变样:白庙排队缩至3分钟,燕郊通勤迈入“分钟级”

右耳远闻
2026-01-13 18:45:03
美国再次扣押中国香港油轮!或在全球拦截中方商船?彻底卸下伪装

美国再次扣押中国香港油轮!或在全球拦截中方商船?彻底卸下伪装

小正说娱乐
2026-01-14 12:20:00
听到被判死刑,头发花白的尹锡悦,当场笑容满面,迅速环顾四周

听到被判死刑,头发花白的尹锡悦,当场笑容满面,迅速环顾四周

老男孩儿
2026-01-15 02:27:33
科尔:理解为什么开拓者首轮选杨瀚森 他有机会成为非常出色球员

科尔:理解为什么开拓者首轮选杨瀚森 他有机会成为非常出色球员

罗说NBA
2026-01-14 12:01:54
59岁女子成功诞下4斤4两男婴,产妇:因大女儿长期定居国外,夫妻俩感到寂寞,57岁开始备孕

59岁女子成功诞下4斤4两男婴,产妇:因大女儿长期定居国外,夫妻俩感到寂寞,57岁开始备孕

观威海
2026-01-13 15:34:07
3+2!重击后脑勺!勇士主帅点评杨瀚森

3+2!重击后脑勺!勇士主帅点评杨瀚森

篮球实战宝典
2026-01-14 14:59:04
杀年猪女孩“呆呆”涨粉200万,否认注册商标,村委称不敢想:第一次村里有这么大流量

杀年猪女孩“呆呆”涨粉200万,否认注册商标,村委称不敢想:第一次村里有这么大流量

大风新闻
2026-01-14 16:53:19
大量天猫精灵智能插座流入闲鱼,最大2500W功率,全新的才17元

大量天猫精灵智能插座流入闲鱼,最大2500W功率,全新的才17元

小柱解说游戏
2026-01-14 00:25:07
新款特斯拉Model S曝光!前后采用贯穿式大灯

新款特斯拉Model S曝光!前后采用贯穿式大灯

泡泡网
2026-01-14 17:49:08
马内贴地斩!埃及无缘非洲杯决赛 萨拉赫暂时不回利物浦

马内贴地斩!埃及无缘非洲杯决赛 萨拉赫暂时不回利物浦

球事百科吖
2026-01-15 04:36:29
美国在中东现在兵力几何?沙特官员已承诺:不会向美开放领空

美国在中东现在兵力几何?沙特官员已承诺:不会向美开放领空

红星新闻
2026-01-14 17:55:38
辽宁9名医保干部沦陷,民营医院给5%的回扣,不同职务不同价码

辽宁9名医保干部沦陷,民营医院给5%的回扣,不同职务不同价码

米师傅安装
2026-01-15 01:41:57
人干事?父母搬家走了,把14岁女儿留在原地独自生活一年!警方都惊了...

人干事?父母搬家走了,把14岁女儿留在原地独自生活一年!警方都惊了...

英国那些事儿
2026-01-14 23:25:56
维尼修斯再遭种族歧视,裤袜:停止种族主义,这太可耻了

维尼修斯再遭种族歧视,裤袜:停止种族主义,这太可耻了

懂球帝
2026-01-15 04:09:24
回顾许家印被抓捕现场,奋力反抗,怒吼不已,被抓捕人员抬出去

回顾许家印被抓捕现场,奋力反抗,怒吼不已,被抓捕人员抬出去

干史人
2026-01-08 22:47:00
2026-01-15 05:11:00
千流出海 incentive-icons
千流出海
旨在通过深入探讨中国企业出海的现状与发展趋势,为大企业、投资者和创业者提供宏观、专业的视角和见解。
120文章数 4关注度
往期回顾 全部

科技要闻

携程因涉嫌垄断被市场监管总局调查

头条要闻

外媒揭美对伊朗动手方案:派特种部队对高层实施"斩首"

头条要闻

外媒揭美对伊朗动手方案:派特种部队对高层实施"斩首"

体育要闻

你是个好球员,我们就拿你交易吧

娱乐要闻

网红彭十六偷税被封杀 曾成功转型明星

财经要闻

携程被立案调查,最高或被罚超50亿

汽车要闻

曝Model Y或降到20万以内!

态度原创

家居
房产
本地
公开课
军事航空

家居要闻

心之所向 现代建构之美

房产要闻

热销17亿后!天正·三亚湾壹号,被爆违建!

本地新闻

邵阳公益诉讼检察主题曲:《守望星》

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

中东气氛愈发紧张 伊朗处于最高战备状态

无障碍浏览 进入关怀版