在 Cloud Run 上使用 PaLM API 聊天应用

1. 简介

此 Codelab 介绍了如何在 Google Cloud 上以 Cloud Run 服务的形式在 Web 应用中构建和部署基于 AI 的聊天应用。借助此聊天应用,用户可以使用 PaLM for Chat Bison 模型 ( text-chat) 查询并获得响应。

构建内容

您将创建

  • Google Cloud 中用于运行应用的环境
  • 应用的 Docker 映像
  • 运行应用的 Cloud Run 服务

2. 要求

  • 一个浏览器,例如 ChromeFirefox
  • 启用了结算功能的 Google Cloud 项目

3. 准备工作

  1. Google Cloud 控制台的项目选择器页面上,选择或创建一个 Google Cloud 项目
  2. 确保您的 Google Cloud 项目已启用结算功能。了解如何 检查项目是否已启用结算功能
  3. 按照此处的说明从 Google Cloud 控制台激活 Cloud Shell here
  4. 如果项目未设置,请使用以下命令进行设置:
gcloud config set project <YOUR_PROJECT_ID>
  1. 在 Cloud Shell 中,设置以下环境变量:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. 在 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. 设置您的环境

  1. 如需将示例代码复制到您的项目中,请在 Cloud Shell 中克隆代码库:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. 此命令会将代码库内容克隆到文件夹 genai-templates-googlecloud 中。
  2. 从 Cloud Shell 终端执行以下命令,导航到我们关心的项目的文件夹:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
  1. 为 Vertex AI 初始化设置以下环境变量:

GCP_PROJECT:您的 Google Cloud 项目 ID。例如:my_project。

GCP_REGION:您要在其中部署 Cloud Function 的区域。例如:us-central1。

export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'

5. 构建 Docker 映像

如需为应用构建 Docker 映像并将其推送到 Artifact Registry,请执行以下操作:

  1. 为 Artifact Registry 代码库设置环境变量。名称只能包含小写字母、数字和连字符,并且必须以字母开头,以字母或数字结尾。例如:my-chat-app-repo。
export AR_REPO='my-chat-app-repo'
  1. 为您的服务名称设置环境变量。例如:chat-flask-app。
export SERVICE_NAME='chat-flask-app'
  1. 以 Docker 格式创建代码库。
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
  1. 配置 Docker 身份验证。
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
  1. 构建映像。
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
  1. 如需验证映像是否已推送到 Artifact Registry,请前往 Artifact Registry 页面。在此页面上查找您创建的代码库。

6. 部署应用

  1. 在 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

此步骤可能需要几秒钟才能完成。

  1. 如需启动聊天应用,请点击服务网址。

56c06b62e0ac95bf.png

聊天应用会在新标签页中打开,如以下屏幕截图所示:

eebde9c35c171563.png

7. 清理

为避免系统因本博文中使用的资源向您的 Google Cloud 账号收取费用,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 管理资源 页面。
  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关停 以删除项目。
  4. 如果您想保留项目,请跳过上述步骤,然后删除 Cloud Run 服务:前往 Cloud Run,在服务列表中选中要删除的服务,然后点击“删除”。

8. 恭喜

恭喜!您已在 Google Cloud 上以 Cloud Run 服务的形式为 Web 应用成功构建和部署了基于 AI 的聊天应用。您可以使用此聊天应用,让用户输入查询,此应用将调用 Vertex AI 聊天模型并提供响应。