👩🏫 我们正在建造什么?
我们将构建一个基于 Web 的聊天界面,该界面连接到 Gemini API 并返回对话响应。我们的应用将在 CLoud Run 上运行,我们将使用 Cloud Build 和 Artifact Registry 对其进行容器化和部署。
在本教程结束时,您将:
设置与 gemini API 对话的 Python web 应用
使用 Docker 容器化你的应用
开始思考如何将 LLM 融入到自己的项目中
因此,少想一些HAL,多想一些SmarterChild。🤖💬让我们开始吧!
📝 先决条件
首先,您需要确保您已具备:
Google Cloud 项目
CLIgcloud安装并验证
安装 Docker
您的项目上已启用 Vertex AI API
💻可选:使用Cloud Shell获得完全配置的环境
⚙️ 步骤 1:克隆聊天应用模板
首先,让我们下载一个预先构建的 Python Flask 应用程序:
git clone https://github.com/ChloeCodesThings/chat-app-demo
cd chat-app-demo
您会看到我们的应用程序具有:
app.py- Flask 路线和 Gemini API 逻辑
index.html- 基本的聊天用户界面
Dockerfile- 有关如何构建容器的说明
🐳📁 第 2 步:使用 Cloud Build 构建 Docker 映像
首先,您需要设置一些环境变量:
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
🚀 第 3 步:部署到 Cloud Run
现在部署应用程序:
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 聊天!
🔎✨ 第 4 步: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 形式返回响应
🤸♀️好的,让我们尝试一下吧!
输入问题,例如:
“什么是 Google Cloud Platform?”
...您将获得由 LLM 生成的上下文响应。
🎯 下一步是什么?
耶,我们做到了!🥳 这仅仅是个开始!在以后的帖子中,我们将介绍:
增强聊天用户界面
保持会话持久
使用系统提示来塑造 Gemini 的反应
使用 Firebase Auth 或 API Gateway 保护您的端点

