在 Cloud Run 中使用 PaLM API 進行即時通訊

1. 簡介

本程式碼研究室說明如何在 Google Cloud 中,以 Cloud Run 服務的形式,在網頁應用程式中建構及部署 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
  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 函式的區域。例如: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. 在專案清單中選取要刪除的專案,然後按一下「Delete」(刪除)
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 即可刪除專案。
  4. 如要保留專案,請略過上述步驟並刪除 Cloud Run 服務,方法是前往 Cloud Run,從服務清單中勾選要刪除的服務,然後按一下「DELETE」(刪除)。

8. 恭喜

恭喜!您已成功在 Google Cloud 中,以 Cloud Run 服務的形式為網頁應用程式建構及部署 AI 即時通訊應用程式。您可以使用這個即時通訊應用程式,讓使用者輸入查詢,而這個應用程式將叫用 Vertex AI 聊天模型並提供回覆。