1. 簡介
本程式碼研究室將說明如何叫用 Cloud 函式來初始化 Vertex AI 模組,然後提供可叫用 PaLM Text Bison 模型的端點。這是以 Python 編寫的 Cloud 函式。以下列出使用的服務:
- Cloud Functions
- Vertex AI PaLM API
建構項目
您將建立及部署提供端點以叫用 PaLM Text Bison 模型的 Cloud 函式。
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 函式
如要建立及部署 Cloud Functions,請按照下列步驟操作:
- 在 Cloud Shell 終端機中執行下列指令,從存放區 https://github.com/rominirani/genai-apptemplates-googlecloud 複製程式碼:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
- 這個指令會將存放區內容複製到 genai-templates-googlecloud 資料夾。
- 在 Cloud Shell 終端機執行下列指令,前往關注的專案資料夾:
cd genai-apptemplates-googlecloud/text-predict-cloudfunction
- 您可以執行 dir 指令或前往 Cloud Shell 編輯器,在 text-predict-cloudfunction 資料夾中看到 main.py 和 requirements.txt 檔案。
- 如要部署 Cloud 函式,請執行 gcloud functions deploy 指令:
gcloud functions deploy predictText --gen2 --runtime=python311 --region=$GCP_REGION --source=. --entry-point=predictText --trigger-http --set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION --allow-unauthenticated --max-instances=1
部署 Cloud 函式後,Cloud Shell 終端機中會顯示已部署的 Cloud 函式網址。網址的格式如下:
https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText
5. 叫用 Cloud 函式
這個 Cloud 函式是透過 HTTP 觸發條件部署,因此可以直接叫用該函式。以下是呼叫範例:
curl -m 70 -X POST https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText \
-H "Content-Type: application/json" \
-d '{
"prompt": "What are the best places to visit in the United States?"
}'
輸出如下所示:
6. 清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本文中所用資源的費用,請按照下列步驟操作:
7. 恭喜
恭喜!您已成功使用納入 PaLM 文字 Bison 模型的 Cloud 函式。如要進一步瞭解可用的模型,請參閱 Vertex AI LLM 產品說明文件。