在 Cloud Run 上部署已集成 Gemini Pro 的 Streamlit 应用
实验
1 小时
universal_currency_alt
5 个积分
show_chart
中级
info
此实验可能会提供 AI 工具来支持您学习。
GSP1229

概览
Gemini 是 Google DeepMind 开发的一系列生成式 AI 模型,专为多模态应用场景而设计。通过 Gemini API,您可以使用 Gemini Pro Vision 和 Gemini Pro 模型。在本实验中,您将了解如何将 Vertex AI Gemini API 与应用集成,以及如何在 Google Cloud Run 上构建和部署所开发的示例应用。
Vertex AI Gemini API
Vertex AI Gemini API 提供了与多种 Gemini 模型交互的统一界面。Gemini API 目前支持以下两种模型:
-
Gemini Pro 模型 (
gemini-pro
):旨在处理自然语言任务、多轮文本和代码聊天以及代码生成。
-
Gemini Pro Vision 模型 (
gemini-pro-vision
):为多模态提示提供支持。您可以在提示请求中包含文本、图片和视频,并获取文本或代码回答。
您可通过以下方式与 Gemini API 进行交互:
本实验重点介绍如何将 Gemini Pro 模型与 Streamlit 应用集成,以及如何将该应用部署到 Google Cloud Run 上。
如需了解详情,请参阅 Vertex AI 上的生成式 AI 文档。
目标
在本实验中,您将学习如何完成以下操作:
- 将 Vertex AI Gemini API 与应用集成
- 在 Google Cloud Run 上构建和部署所开发的示例应用
- 使用 Streamlit 框架构建 Cloud Run 应用
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
- “打开 Google Cloud 控制台”按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。
-
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}}
您也可以在“实验详细信息”窗格中找到“用户名”。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}}
您也可以在“实验详细信息”窗格中找到“密码”。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。
注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
-
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于这是临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。
任务 1. 在本地运行应用
在本部分中,您将在本地使用 Cloud Shell 运行 Streamlit 应用。
克隆代码库
-
点击 Cloud 控制台右上角的 Cloud Shell 图标,打开一个新的 Cloud Shell 终端。
-
运行下面的命令,先克隆代码库,然后前往 Cloud Shell 中的 gemini-streamlit-cloudrun
目录。
git clone https://github.com/GoogleCloudPlatform/generative-ai.git
cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
若要运行 Streamlit 应用,您需要执行一些额外的步骤。
运行应用
- 设置 Python 虚拟环境并安装依赖项:
python3 -m venv gemini-streamlit
source gemini-streamlit/bin/activate
pip install -r requirements.txt
- 您的应用需要访问两个环境变量:
-
GCP_PROJECT
:这是 Google Cloud 项目 ID。
-
GCP_REGION
:这是您部署 Cloud Run 应用的区域,例如 us-central1
。
这些变量是必需的,因为 Vertex AI 初始化需要用到 Google Cloud 项目 ID 和区域信息。app.py
函数对应的具体代码行如下所示:vertexai.init(project=PROJECT_ID, location=LOCATION)
在 Cloud Shell 中,执行以下命令:
GCP_PROJECT='{{{ project_0.project_id | Project ID}}}'
GCP_REGION='{{{ project_0.default_region | Region }}}'
- 若要在本地运行应用,请执行以下命令。
streamlit run app.py \
--browser.serverAddress=localhost \
--server.enableCORS=false \
--server.enableXsrfProtection=false \
--server.port 8080
输出:
正在收集使用情况统计信息。若要停用此功能,请将 browser.gatherUsageStats 设置为“false”。
现在,您可以在浏览器中查看自己的 Streamlit 应用。
网址:http://localhost:8080
-
该应用即会启动,并向您提供一个用于访问该应用的网址。点击该链接即可在浏览器中查看此应用,或者您也可以使用 Cloud Shell 的网页预览功能启动预览页面。
-
调整故事生成参数,然后点击 Generate my story(生成我的故事)。
-
回到 Cloud Shell,授权应用访问 Gemini API。为应用提供授权后,您就可以返回应用查看收到的响应。
注意:应用将提示 Vertex AI Gemini API 并显示响应。为了使其正常运作,在选择 Generate my story(生成我的故事)后,您需要返回 Cloud Shell,授权应用访问 Gemini API。

- 测试完应用后,您可以在 Cloud Shell 中输入 Ctrl + C 来停止应用运行。
任务 2. 构建应用并将其部署到 Cloud Run
在本部分中,您将在 Cloud Run 中部署 Streamlit 应用。
现在,您需要为应用构建 Docker 映像,并将其推送到 Artifact Registry。为此,您需要设置一个指向 Artifact Registry 名称的环境变量。以下命令将会为您创建此 Artifact Registry 代码库。
- 在 Cloud Shell 中,执行以下命令:
AR_REPO='gemini-repo'
SERVICE_NAME='gemini-streamlit-app'
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
输出:
DONE
--------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
a601ffd1-c282-43d2-942c-53cc13f43bf2 2023-12-18T11:37:30+00:00 2M29S gs://qwiklabs-gcp-00-eb090e9513e8_cloudbuild/source/1702899440.87287-549e1a0cc5644b3c9535ff57f4a63d02.tgz us-central1-docker.pkg.dev/qwiklabs-gcp-00-eb090e9513e8/gemini-repo/gemini-streamlit-app (+1 more) SUCCESS
- 最后一步是使用我们在上一步中构建并推送到 Artifact Registry 的映像,在 Cloud Run 中部署服务。
gcloud run deploy "$SERVICE_NAME" \
--port=8080 \
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \
--allow-unauthenticated \
--region=$GCP_REGION \
--platform=managed \
--project=$GCP_PROJECT \
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION
成功部署后,您将获得一个用于访问 Cloud Run 服务的网址。您可以在浏览器中访问该网址,查看刚刚部署的 Cloud Run 应用。
输出:
⠼ Deploying new service... Done.
✓ Deploying new service... Done.
Done.
Service [gemini-streamlit-app] revision [gemini-streamlit-app-00001-srg] has been deployed and is serving 100 percent of traffic. Service URL: https://gemini-streamlit-app-hc2gb6hsia-uc.a.run.app
选择您想要检查的功能,应用将提示 Vertex AI Gemini API 并显示响应。

点击检查我的进度以验证是否完成了以下目标:构建应用并将其部署到 Cloud Run
恭喜!
恭喜!在本实验中,您学习了如何将 Vertex AI Gemini API 与应用集成,以及如何在 Google Cloud Run 上构建和部署所开发的示例应用。
后续步骤/了解详情
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 3 月 7 日
上次测试实验的时间:2024 年 3 月 7 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。