
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Use cURL to test sample prompts with the API
/ 15
Write Streamlit framework code for the user interface
/ 25
Test the application in Cloud Shell
/ 20
Modify the Dockerfile and push the Docker image to the Artifact Registry
/ 20
Deploy the application to Cloud Run and test it
/ 20
在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。
在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。
要想获得满分,您必须在该时间段内成功完成所有任务!
我们建议已报名参加使用 Gemini 和 Streamlit 开发生成式 AI 应用课程的学员参加此实验。准备好接受挑战了吗?
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
您在几个月前刚刚入职 Cymbal Health。Cymbal Health 是美国明尼苏达州中东部地区的一家成熟的医疗网络公司,致力于重新构想和改变医疗服务的提供方式。Cymbal Health 将医疗服务和保险整合到一个健康方案中,让患者能够以实惠的价格更轻松地获得高质量的医疗服务。
作为增值服务,Cymbal Health 希望通过应用中的提示和建议来改善客户的健康生活和身体状况。他们希望重点关注的一个领域是改善客户的营养摄入。
利用 Gemini(一种用于生成文本、音频、图片和视频的多模态模型)的强大功能,Cymbal Health 可以构建应用来为客户生成膳食建议。
例如,您的团队一直在努力打造一款基于 AI 技术的 Chef 应用,该应用会根据客户的菜系偏好、饮食禁忌、食物过敏情况以及他们家中通常储备或能在杂货店买到的食材生成食谱。您的任务是对这款基于 Gemini 模型、Streamlit 框架和 Cloud Run 构建的 Chef 应用构建、测试和部署概念验证 (POC)。在此 POC 过程中,他们会列出一系列任务,并要求您在沙盒环境中限时完成。
您的任务包括:
chef.py
。在 Vertex AI 中开始创建 Chef 应用之前,您应该先测试与 Gemini API 的连接。
在 Google Cloud 控制台的导航菜单 () 中依次点击 Vertex AI > Workbench。
找到
Workbench 实例的 JupyterLab 界面会在新浏览器标签页中打开。
1. 关闭 JupyterLab 的浏览器标签页,然后返回 Workbench 首页。
2. 选中实例名称旁边的复选框,然后点击重置。
3. 打开 JupyterLab 按钮重新启用后,请等待一分钟,然后点击打开 JupyterLab。
在左侧菜单中,修改 prompt.ipynb
,在单元格 3 中添加您的 project_ID 和区域。您可以在实验说明的左侧面板中找到这些信息。
在左侧菜单中,修改 prompt.ipynb
,将单元格 5 中的现有提示替换为以下提示,与 cURL 搭配使用。
运行所有单元格并观察结果。
保存 prompt.ipynb
。
对结果满意后,验证目标。
如需验证目标完成情况,请点击检查我的进度:
在此任务中,您将克隆一个 GitHub 代码库并下载 chef.py
文件。然后,您将在 chef.py
文件中添加 wine 偏好设置对应的 Streamlit 框架代码,以完成应用的界面。您还需要添加一个自定义 Gemini 提示(类似于任务 1 中的提示),但此提示包含变量。
使用 Cloud Shell 从默认目录克隆以下代码库。
前往 gemini-streamlit-cloudrun
目录。
在 requirements.txt 文件中指定依赖项:
chef.py
文件并对其进行更改,它将无法访问 Streamlit 框架。您也无法在 Cloud Shell 中对其进行测试(任务 3),无法构建 Docker 容器(任务 4),并且无法在 Cloud Run 中对其进行部署和测试(任务 5)。
使用以下命令下载 chef.py
文件。
在 Cloud Shell 编辑器中打开 chef.py 文件,然后查看代码。
对于“项目 ID”,请使用
为 wine 变量添加 Streamlit 框架单选按钮选项。包含 Red(红)、White(白)和 None(无)选项。
保存 chef.py
文件。
在 Python 代码中添加以下新的 Gemini 提示。
保存 chef.py
文件。
对您在 chef.py
中添加的 Gemini 提示代码感到满意后,请在 Cloud Shell 中运行以下命令,将该文件上传到
如需验证目标完成情况,请点击检查我的进度:
chef.py
文件中进行任何更改后,请务必运行上述命令,以便存储桶中包含更新后的 chef.py
文件。在此任务中,您将使用 Cloud Shell 中的终端来运行和测试应用。
确保您仍位于此路径:generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
。
设置 Python 虚拟环境并安装依赖项。
为 PROJECT(您的项目 ID)和 REGION(在实验室环境中使用的区域)设置环境变量。
运行 chef.py
应用并对其进行测试。
在 Cloud Shell 中测试应用并确认其按设计运行且没有错误后,验证目标。
如需验证目标完成情况,请点击检查我的进度:
在此任务中,您将修改示例 Dockerfile
以使用 chef.py
文件,并将相应的 Docker 映像推送到 Artifact Registry。
使用 Cloud Shell 编辑器修改此 Dockerfile 以使用 chef.py
,然后保存该文件。
在 Cloud Shell 中,设置以下环境变量。
变量 | 值 |
---|---|
AR_REPO | chef-repo |
SERVICE_NAME | chef-streamlit-app |
使用 gcloud artifacts repositories create
命令和以下参数创建 Artifact Registry 代码库。
参数 | 值 |
---|---|
代码库名称 | $AR_REPO |
位置 | $REGION |
代码库格式 | Docker |
使用 gcloud builds submit
命令和以下参数提交 build。
参数 | 值 |
---|---|
标记 | "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" |
等待命令完成。
命令完成后,验证目标。
如需验证目标完成情况,请点击检查我的进度:
在此任务中,您需要将应用(作为 Docker 工件)部署到 Cloud Run,然后测试从 Cloud Run 服务端点运行的应用。
在 Cloud Shell 中,使用 gcloud run deploy
命令和以下参数值部署应用(作为 Docker 工件):
参数 | 值 |
---|---|
端口 | 8080 |
映像 | "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" |
标志 | --allow-unauthenticated |
区域 | REGION |
平台 | managed |
项目 | PROJECT |
set-env-vars | PROJECT=$PROJECT,REGION=$REGION |
部署需要几分钟才能完成,系统将提供一个用于访问此 Cloud Run 服务的网址。您可以在浏览器中访问该网址,查看刚刚部署的 Cloud Run 应用。
使用提供的链接测试应用。
成功测试在 Cloud Run 上运行的应用后,验证目标。
如需验证目标完成情况,请点击检查我的进度:
通过完成此实验室挑战赛,您验证了自己使用 Gemini 开发生成式 AI 应用的技能,以及您如何将这些技能运用于基于 AI 的 Chef 应用。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2025 年 5 月 28 日
上次测试实验的时间:2025 年 5 月 28 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验