1. 簡介
在本程式碼實驗室中,我列出了建構網頁應用程式的步驟,讓您在 Svelte Kit 框架中,使用 Vertex AI 大型語言模型進行文字生成 ( text-bison) API,執行文字摘要作業。使用的服務和技術堆疊如下:
- Svelte Kit:以 Svelte 為基礎建構的網頁應用程式架構。
- Vertex AI PaLM 2 API:大型語言模型 (LLM) API,可存取 Google AI 的 PaLM 2 模型。
- Cloud Functions:無伺服器平台,可執行函式,不必管理伺服器。
- Cloud Run:無伺服器平台,用於執行容器化應用程式。
建構項目
您將建立
- Python Cloud 函式用於叫用 Palm API
- Svelte 網頁應用程式,做為與 Vertex AI API 互動的使用者介面 (透過 Cloud Function)
- Cloud Run 服務,用於無伺服器部署上述建立的應用程式
2. 需求條件
3. 事前準備
- 在 Google Cloud 控制台的專案選取器頁面中,選取或建立 Google Cloud 專案
- 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能
- 您將使用 Cloud Shell (在 Google Cloud 中執行的指令列環境),與 Google Cloud 服務互動。如要瞭解 gcloud 指令和用法,請參閱說明文件。在 Cloud 控制台,按一下右上角的「啟用 Cloud Shell」:

如果未設定專案,請使用下列指令來設定:
gcloud config set project <YOUR_PROJECT_ID>
- 請在 Cloud Shell 終端機執行下列指令,確認已啟用所有必要的 API:
gcloud services enable cloudbuild.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com
- 從 Cloud Shell 終端機執行下列指令,為 REGION 和 PROJECT_ID 建立環境變數:
export PROJECT_ID=<your project id>
export REGION=asia-south1
4. 叫用 Vertex AI API 的 Cloud 函式
我們將建立 Python Cloud Function,並在這個函式中叫用 Vertex AI API。
建立新的服務帳戶
在 Cloud Shell 終端機中執行下列指令,建立新的服務帳戶。
gcloud iam service-accounts create vertex-service-acc
如要提供專案和資源的存取權,請將角色授予服務帳戶。
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member="serviceAccount:vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com" --role=roles/ml.developer
將角色授予 Google 帳戶,允許您使用服務帳戶的角色,並將服務帳戶附加至其他資源。將 USER_EMAIL 替換為您的 Google 帳戶電子郵件 ID。
gcloud iam service-accounts add-iam-policy-binding vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
建立 Python 函式
文字適用的 PaLM 2 非常適合透過單一 API 回應完成的工作,不需要持續對話。現在來建立 Cloud 函式。
使用 Cloud Shell 建立新目錄,然後前往該目錄。(使用上一節開啟的終端機):
mkdir vertex-ai-functions
cd vertex-ai-functions
建立 main.py 檔案來編寫 Python Cloud Function,並建立 requirements.txt 檔案來儲存依附元件。
touch main.py requirements.txt
這個 Python 檔案定義了簡單的 HTTP Cloud 函式,可使用 Vertex AI Text Generation 模型,生成文字輸入內容的簡短摘要。這項函式會將文字輸入內容做為參數,並傳回輸入內容的簡短摘要。這項函式會使用各種參數來控制生成程序,例如生成文字的創意、多樣性和流暢度。HTTP Cloud 函式會接受要求物件,並以回應形式傳回模型的摘要。
開啟 Google Cloud 編輯器。如要開啟這個編輯器,請開啟新的 Google Cloud 控制台分頁,然後按一下「啟用 Cloud Shell」按鈕。終端機載入後,請快速按一下「開啟編輯器」按鈕,如下圖所示:

開啟編輯器後,您應該會看到 main.py 檔案。將其內容替換為這個存放區的程式碼 (連結)。程式碼的說明會以程式碼註解的形式提供。總而言之,這段程式碼提供簡潔的方式,可使用 Vertex AI 生成文字輸入內容的簡短摘要。
requirements.txt 檔案具有套件依附元件:functions-framework==3.*:確保函式使用 Functions Framework 的最新功能和錯誤修正。google-cloud-aiplatform:使用 Vertex AI 文字生成模型時必須安裝。
將此內容新增至 requirements.txt 檔案:
functions-framework==3.*
google-cloud-aiplatform
部署至 Cloud Functions
現在將這個來源部署至 Cloud Functions。在 Cloud Shell 終端機中執行下列指令:
gcloud functions deploy vertex-ai-function \
--gen2 \
--runtime=python311 \
--region=${REGION} \
--source=. \
--entry-point=hello_vertex \
--trigger-http \
--allow-unauthenticated \
--max-instances=30
使用搜尋列前往 Cloud Functions 控制台:

這樣系統就會列出我們剛建立的 vertex-ai-function Cloud Function,並在函式頁面中提供公開網址。我們會使用這個檔案連結前端和 Vertex AI API。請儲存這個網址,您可能也必須允許未經驗證的存取要求,存取底層的 Cloud Run 服務。基於安全考量,建議使用已驗證的服務。
5. 建構及部署前端
這個應用程式提供前端介面,可透過 Google Cloud Functions 與 Vertex AI API 互動。現在就來建立。
複製存放區並設定 Dockerfile
前往根目錄並複製 Git 存放區。
cd ~/
git clone https://github.com/bhaaratkrishnan/vertex-summarizer-svelte.git
cd vertex-summarizer-svelte
如要執行這個應用程式,您需要在 Dockerfile 中新增 PUBLIC_FUNCTION_URL 環境變數。這個網址是先前建立並儲存的 Cloud 函式網址。
開啟 Cloud Editor,然後編輯 Dockerfile 檔案的內容。將 PUBLIC_FUNCTION_URL 變數換成 Cloud 函式網址。

將前端部署至 Cloud Run
我們會使用 Google Artifact Registry 建構及儲存 Docker 映像檔。Cloud Run 用於在無伺服器架構中部署容器。
在 Cloud Shell 終端機中執行下列指令,建立 Artifact Registry 存放區:
gcloud artifacts repositories create vertex-repo --repository-format=docker --location=${REGION}
為 Artifact Registry 存放區網址建立環境變數。
export DOCKER_URL=${REGION}-docker.pkg.dev/${PROJECT_ID}/vertex-repo/vertex-summarizer-image
建構 Docker 容器,並使用 Artifact Registry 存放區位置標記容器。使用存放區名稱標記 Docker 映像檔可設定 docker push 指令,將映像檔推送至特定位置。
docker build . -t ${DOCKER_URL}
將映像檔推送至 Artifact Registry。
docker push ${DOCKER_URL}
將 Docker 容器部署至 Cloud Run。
gcloud run deploy vertex-summarizer --allow-unauthenticated --platform=managed --region=${REGION} --image=${DOCKER_URL}
耶!Vertex Summarizer 已經啟動並執行。網址會顯示在 Cloud Shell 中,請盡情探索及使用 Vertex AI 🤖。

6. 清理
如要避免系統向您的 Google Cloud 帳戶收取本文章所用資源的費用,請按照下列步驟操作:
7. 恭喜
恭喜!您已成功使用 Vertex AI PaLM2 API,以程式輔助方式執行文字摘要作業、建構 Svelte 網頁應用程式,並部署至 Cloud Functions。如要進一步瞭解可用模型,請參閱 Vertex AI LLM 產品說明文件。