1. 简介
此 Codelab 介绍了如何在 Web 应用中构建基于 AI 的聊天应用,并将其作为 Google Cloud 上的 Cloud Run 服务进行部署。借助这款聊天应用,用户可以使用 PaLM for Chat Bison 模型 ( text-chat) 进行查询并获得回复。
构建内容
您将创建
- Google Cloud 中用于运行应用的环境
- 应用的 Docker 映像
- 用于运行应用的 Cloud Run 服务
2. 要求
3. 准备工作
- 在 Google Cloud 控制台的项目选择器页面上,选择或创建一个 Google Cloud 项目
- 确保您的 Google Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能
- 按照此处的说明,通过 Google Cloud 控制台激活 Cloud Shell
- 如果项目未设置,请使用以下命令进行设置:
gcloud config set project <YOUR_PROJECT_ID>
- 在 Cloud Shell 中,设置以下环境变量:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
- 在 Cloud Shell 终端中执行以下命令,启用必要的 Google Cloud API:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com
4. 设置您的环境
- 如需将示例代码复制到您的项目,请在 Cloud Shell 中克隆代码库:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- 此命令会将代码库内容克隆到 genai-templates-googlecloud 文件夹中。
- 在 Cloud Shell 终端执行以下命令,找到我们关注的项目的文件夹:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
- 为 Vertex AI 初始化设置以下环境变量:
GCP_PROJECT:您的 Google Cloud 项目 ID。例如:my_project。
GCP_REGION:要在其中部署 Cloud Functions 函数的区域。例如:us-central1。
export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'
5. 构建 Docker 映像
如需为应用构建 Docker 映像并将其推送到 Artifact Registry,请执行以下操作:
- 为 Artifact Registry 代码库设置环境变量。名称只能包含小写字母、数字和连字符,必须以字母开头并以字母或数字结尾。例如:my-chat-app-repo。
export AR_REPO='my-chat-app-repo'
- 为服务名称设置环境变量。例如:chat-flask-app。
export SERVICE_NAME='chat-flask-app'
- 以 Docker 格式创建代码库。
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
- 配置 Docker 身份验证。
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
- 构建映像。
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
- 如需验证映像是否已推送到 Artifact Registry,请前往 Artifact Registry 页面。在此页面上查找您创建的代码库。
6. 部署应用
- 在 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
此步骤可能需要几秒钟才能完成。
- 要启动聊天应用,请点击服务网址。
聊天应用会在新标签页中打开,如以下屏幕截图所示:
7. 清理
为避免系统因本博文中使用的资源向您的 Google Cloud 账号收取费用,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关停以删除项目。
- 如果您想保留项目,请跳过上述步骤,前往 Cloud Run 以删除 Cloud Run 服务,然后在服务列表中选中要删除的服务,然后点击“删除”。
8. 恭喜
恭喜!您已成功为 Web 应用构建并部署了基于 AI 的聊天应用,并将其作为 Google Cloud 上的 Cloud Run 服务。您可以使用此聊天应用让用户输入查询,该应用将调用 Vertex AI 聊天模型并提供回复。