Google 官方指南展示如何用 Gemini API 在 Cloud Run 上部署聊天应用。低代码、快速上手的实战案例。
(🎨 封面图由 Gemini 的 Imagen 3 生成!)
欢迎来到我的 Google AI 工具构建系列博客!在这篇文章中,我们将创建一个由 Gemini 驱动并托管在 Cloud Run 上的简单聊天应用程序。如果你正在试验 LLM 或希望将 AI 集成到你的网络应用中,那么你来对地方了。那么,让我们开始学习吧!
我们将构建一个基于网络的聊天界面,连接到 Gemini API 并返回对话式响应。我们的应用将运行在 Cloud Run 上,我们将使用 Cloud Build 和 Artifact Registry 来容器化和部署它。
完成本教程后,你将能够:
设置一个与 Gemini API 通信的 Python 网络应用
使用 Docker 将应用容器化
使用 Google Cloud 工具将应用部署到 Cloud Run
开始思考如何将 LLM 集成到你自己的项目中
所以,少一点 HAL,多一点 SmarterChild。🤖💬 让我们深入了解吧!
要开始,你需要确保你具备:
一个 Google Cloud 项目
已安装并认证的 gcloud CLI
在你的项目上启用了 Vertex AI API
💻 可选:使用 Cloud Shell 以获得完全配置的环境
要开始,让我们拉下一个预构建的 Python Flask 应用:
git clone https://github.com/ChloeCodesThings/chat-app-demo
cd chat-app-demo
你会看到我们的应用包含:
app.py - Flask 路由和 Gemini API 逻辑
index.html - 一个基本的聊天 UI
Dockerfile - 关于如何构建容器的说明
首先,你需要设置一些环境变量:
export PROJECT_ID=$(gcloud config get-value project)
export REGION=us-central1
export AR_REPO=chat-app-repo
export SERVICE_NAME=chat-gemini-app
创建 Artifact Registry 仓库:
gcloud artifacts repositories create $AR_REPO \
--repository-format=docker \
--location=$REGION
然后构建并推送镜像:
gcloud builds submit --tag $REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME
gcloud run deploy $SERVICE_NAME \
--image=$REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME \
--platform=managed \
--region=$REGION \
--allow-unauthenticated \
--set-env-vars=GCP_PROJECT=$PROJECT_ID,GCP_REGION=$REGION
你会获得一个类似 https://chat-gemini-app-xxxxxx.run.app 的 URL。打开它与 Gemini 聊天吧!
让我们看一下后端逻辑。在 app.py 中,这是魔法发生的地方:
from vertexai.preview.language_models import ChatModel
def create_session():
chat_model = ChatModel.from_pretrained("gemini-2.0-flash")
chat = chat_model.start_chat()
return chat
def response(chat, message):
result = chat.send_message(message)
return result.text
因此,每次用户提交一条消息时,我们的应用将:
启动一个新的聊天会话
将消息发送到 Gemini 模型
将响应作为 JSON 返回
输入一个问题,例如:
"What is Google Cloud Platform?"
……你会得到一个上下文相关的、由 LLM 生成的响应。
耶,我们做到了!🥳 这只是开始!在后续文章中,我们将涵盖:
增强聊天 UI
保持会话持久化
使用系统提示来塑造 Gemini 的响应
使用 Firebase Auth 或 API Gateway 保护你的端点
使用 Gemini 构建和部署一个简单的 Flask 聊天应用
使用 Docker 将其容器化并推送到 Artifact Registry
以最少的配置部署到 Cloud Run
想了解更多?这里有一个你可以查看的教程
下次见,各位!-Chloe
关于进一步的行动,你可能想要屏蔽此人和/或举报滥用行为