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

1. 簡介

本程式碼實驗室會說明如何建構及部署 AI 即時通訊應用程式,並以 Google Cloud 的 Cloud Run 服務形式部署至網頁應用程式。使用者可透過這個即時通訊應用程式,使用 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 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,然後按一下「Shut down」(關機) 即可刪除專案。
  4. 如要保留專案,請略過上述步驟,然後前往 Cloud Run 刪除 Cloud Run 服務。在服務清單中,勾選要刪除的服務,然後按一下「刪除」。

8. 恭喜

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