在本教學課程中,您會使用 Model Garden 將Gemma 1B 開放式模型部署至採用 GPU 的 Vertex AI 端點。您必須先將模型部署至端點,才能使用模型進行線上預測。部署過程中,系統會將實體資源與模型建立關聯,讓模型以低延遲的方式提供線上預測結果。
部署 Gemma 1B 模型後,您可以使用 PredictionServiceClient
推論訓練好的模型,取得線上預測結果。線上預測是對部署至端點的模型發出的同步要求。
目標
本教學課程將說明如何執行下列工作:
- 使用 Model Garden 將 Gemma 1B 開放式模型部署至採用 GPU 的端點
- 使用
PredictionServiceClient
取得線上預測結果
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
如要根據預測用量估算費用,請使用 Pricing Calculator。
完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。
事前準備
本教學課程需要您:
- 設定 Google Cloud 專案並啟用 Vertex AI API
- 在本機上:
- 安裝、初始化及驗證 Google Cloud CLI
- 安裝適用於您所用語言的 SDK
設定 Google Cloud 專案
設定 Google Cloud 專案並啟用 Vertex AI API。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
安裝並初始化 Google Cloud CLI。
-
如果您先前已安裝 gcloud CLI,請執行下列指令,確保
gcloud
元件已更新。gcloud components update
-
如要透過 gcloud CLI 進行驗證,請執行下列指令,產生本機應用程式預設憑證 (ADC) 檔案。指令啟動的網頁流程會用於提供使用者憑證。
gcloud auth application-default login
詳情請參閱 gcloud CLI 驗證設定和 ADC 設定。
執行下列指令,安裝及更新 Python 適用的 Vertex AI SDK。
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
執行下列指令,安裝 Python 適用的 Protocol Buffers 程式庫。
pip3 install --upgrade "protobuf>=5.28"
列出可部署的模型,並記錄要部署的模型 ID。您可以選擇列出 Model Garden 中支援的 Hugging Face 模型,甚至依模型名稱篩選。輸出內容不包含任何微調模型。
使用上一步驟中的模型 ID,查看模型的部署規格。您可以查看 Model Garden 為特定模型驗證的機型、加速器類型和容器映像檔 URI。
將模型部署至端點。除非您指定其他引數和值,否則 Model Garden 會使用預設部署設定。
執行
gcloud ai model-garden models list
指令,列出可部署的模型。這項指令會列出所有模型 ID,以及可自行部署的模型。gcloud ai model-garden models list --model-filter=gemma
在輸出內容中,找出要部署的模型 ID。以下範例顯示縮寫的輸出內容。
MODEL_ID CAN_DEPLOY CAN_PREDICT google/gemma2@gemma-2-27b Yes No google/gemma2@gemma-2-27b-it Yes No google/gemma2@gemma-2-2b Yes No google/gemma2@gemma-2-2b-it Yes No google/gemma2@gemma-2-9b Yes No google/gemma2@gemma-2-9b-it Yes No google/gemma3@gemma-3-12b-it Yes No google/gemma3@gemma-3-12b-pt Yes No google/gemma3@gemma-3-1b-it Yes No google/gemma3@gemma-3-1b-pt Yes No google/gemma3@gemma-3-27b-it Yes No google/gemma3@gemma-3-27b-pt Yes No google/gemma3@gemma-3-4b-it Yes No google/gemma3@gemma-3-4b-pt Yes No google/gemma3n@gemma-3n-e2b Yes No google/gemma3n@gemma-3n-e2b-it Yes No google/gemma3n@gemma-3n-e4b Yes No google/gemma3n@gemma-3n-e4b-it Yes No google/gemma@gemma-1.1-2b-it Yes No google/gemma@gemma-1.1-2b-it-gg-hf Yes No google/gemma@gemma-1.1-7b-it Yes No google/gemma@gemma-1.1-7b-it-gg-hf Yes No google/gemma@gemma-2b Yes No google/gemma@gemma-2b-gg-hf Yes No google/gemma@gemma-2b-it Yes No google/gemma@gemma-2b-it-gg-hf Yes No google/gemma@gemma-7b Yes No google/gemma@gemma-7b-gg-hf Yes No google/gemma@gemma-7b-it Yes No google/gemma@gemma-7b-it-gg-hf Yes No
輸出內容不包含任何微調模型或 Hugging Face 模型。 如要查看支援的 Hugging Face 模型,請新增
--can-deploy-hugging-face-models
標記。如要查看模型的部署規格,請執行
gcloud ai model-garden models list-deployment-config
指令。您可以查看 Model Garden 支援特定模型使用的機器類型、加速器類型和容器映像檔 URI。gcloud ai model-garden models list-deployment-config \ --model=MODEL_ID
將 MODEL_ID 替換為上一個清單指令中的模型 ID,例如
google/gemma@gemma-2b
或stabilityai/stable-diffusion-xl-base-1.0
。執行
gcloud ai model-garden models deploy
指令,將模型部署至端點。Model Garden 會為端點產生顯示名稱,並使用預設部署設定,除非您指定其他引數和值。如要非同步執行指令,請加入
--asynchronous
標記。gcloud ai model-garden models deploy \ --model=MODEL_ID \ [--machine-type=MACHINE_TYPE] \ [--accelerator-type=ACCELERATOR_TYPE] \ [--endpoint-display-name=ENDPOINT_NAME] \ [--hugging-face-access-token=HF_ACCESS_TOKEN] \ [--reservation-affinity reservation-affinity-type=any-reservation] \ [--reservation-affinity reservation-affinity-type=specific-reservation, key="compute.googleapis.com/reservation-name", values=RESERVATION_RESOURCE_NAME] \ [--asynchronous]
替換下列預留位置:
- MODEL_ID:先前清單指令中的模型 ID。如果是 Hugging Face 模型,請使用 Hugging Face 模型網址格式,例如
stabilityai/stable-diffusion-xl-base-1.0
。 - MACHINE_TYPE:定義要為模型部署的資源集,例如
g2-standard-4
。 - ACCELERATOR_TYPE:指定要新增至部署作業的加速器,以利處理
NVIDIA_L4
等密集型工作負載時提升效能。 - ENDPOINT_NAME:已部署的 Vertex AI 端點名稱。
- HF_ACCESS_TOKEN:如果是 Hugging Face 模型,請提供存取權杖 (如果模型設有存取限制)。
- RESERVATION_RESOURCE_NAME:如要使用特定 Compute Engine 預留項目,請指定預留項目的名稱。如果指定特定預訂,則無法指定
any-reservation
。
輸出內容包括 Model Garden 使用的部署設定、端點 ID 和部署作業 ID,可用於檢查部署狀態。
Using the default deployment configuration: Machine type: g2-standard-12 Accelerator type: NVIDIA_L4 Accelerator count: 1 The project has enough quota. The current usage of quota for accelerator type NVIDIA_L4 in region us-central1 is 0 out of 28. Deploying the model to the endpoint. To check the deployment status, you can try one of the following methods: 1) Look for endpoint `ENDPOINT_DISPLAY_NAME` at the [Vertex AI] -> [Online prediction] tab in Cloud Console 2) Use `gcloud ai operations describe OPERATION_ID --region=LOCATION` to find the status of the deployment long-running operation
- MODEL_ID:先前清單指令中的模型 ID。如果是 Hugging Face 模型,請使用 Hugging Face 模型網址格式,例如
如要查看部署作業的詳細資料,請執行
gcloud ai endpoints list --list-model-garden-endpoints-only
指令:gcloud ai endpoints list --list-model-garden-endpoints-only \ --region=LOCATION_ID
將 LOCATION_ID 替換為部署模型的區域。
輸出內容會列出從 Model Garden 建立的所有端點,並包含端點 ID、端點名稱等資訊,以及端點是否與已部署的模型建立關聯。如要尋找部署作業,請找出先前指令傳回的端點名稱。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- QUERY_PARAMETERS:如要列出 Model Garden 模型,請新增下列查詢參數
listAllVersions=True&filter=is_deployable(true)
。如要列出 Hugging Face 模型,請將篩選器設為alt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True
。 - LOCATION:模型部署的區域。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- MODEL_ID:要部署的模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 採用下列格式:publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION。
- LOCATION:模型部署的區域。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- MODEL_ID:要部署的 Hugging Face 模型 ID,您可以列出所有可部署的模型,ID 格式如下: PUBLISHER_NAME/MODEL_NAME。
- ACCESS_TOKEN:如果模型受到限制,請提供存取權杖。
- LOCATION:模型部署的區域。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- MODEL_ID:要部署的模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 採用下列格式:publishers/PUBLISHER_NAME/models/
MODEL_NAME@MODEL_VERSION,例如
google/gemma@gemma-2b
或stabilityai/stable-diffusion-xl-base-1.0
。 - MACHINE_TYPE:定義要為模型部署的資源集,例如
g2-standard-4
。 - ACCELERATOR_TYPE:
指定要新增至部署作業的加速器,以利處理密集型工作負載 (例如
NVIDIA_L4
) 時提升效能 - ACCELERATOR_COUNT:要在部署作業中使用的加速器數量。
reservation_affinity_type
:如要為部署作業使用現有的 Compute Engine 預留項目,請指定任何預留項目或特定預留項目。如果指定這個值,請勿指定spot
。spot
:是否要在部署作業中使用 Spot VM。- IMAGE_URI:要使用的容器映像檔位置,例如
us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas
- CONTAINER_ARGS:部署期間要傳遞至容器的引數。
- CONTAINER_PORT:容器的通訊埠號碼。
fast_tryout_enabled
:測試模型時,您可以選擇使用較快的部署作業。這個選項僅適用於特定機器類型中經常使用的模型。啟用後,您就無法指定模型或部署設定。前往 Google Cloud 控制台的「Model Garden」頁面。
找出要部署的支援模型,然後按一下模型資訊卡。
按一下「Deploy」(部署),開啟「Deploy model」(部署模型)窗格。
在「Deploy model」(部署模型) 窗格中,指定部署作業的詳細資料。
- 使用或修改產生的模型和端點名稱。
- 選取要建立模型端點的位置。
- 為部署項目的每個節點選取要使用的機器類型。
如要使用 Compute Engine 預留項目,請在「部署設定」部分下方選取「進階」。
在「預訂類型」欄位中,選取預訂類型。預訂的機型必須符合您指定的規格。
- 自動使用建立的預留項目:Vertex AI 會自動選取具有相符屬性的允許預留項目。如果自動選取的預留項目沒有容量,Vertex AI 會使用一般 Google Cloud資源集區。
- 選取特定預留項目:Vertex AI 會使用特定預留項目。如果所選預訂項目沒有容量,系統會擲回錯誤。
- 不使用 (預設):Vertex AI 會使用一般Google Cloud 資源集區。這個值與未指定預訂項目具有相同效果。
按一下「Deploy」(部署)。
PROJECT_ID
:如要找出專案 ID,請按照下列步驟操作。前往 Google Cloud 控制台的「Welcome」(歡迎使用) 頁面。
在頁面頂端的專案選擇工具中選取專案。
專案名稱、專案編號和專案 ID 會顯示在「歡迎」標題下方。
ENDPOINT_REGION
:這是部署端點的區域。ENDPOINT_ID
:如要找出端點 ID,請在控制台中查看,或執行gcloud ai endpoints list
指令。您需要「Deploy model」(部署模型) 窗格中的端點名稱和區域。控制台
如要查看端點詳細資料,請依序點選「線上預測」>「端點」,然後選取您的區域。請記下「
ID
」欄中顯示的數字。gcloud
您可以執行
gcloud ai endpoints list
指令,查看端點詳細資料。gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
輸出內容如下所示。
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 取消部署模型並刪除端點
- 從 Model Registry 刪除模型
在 Google Cloud 控制台中,依序點選「線上預測」和「端點」。
在「Region」(區域) 下拉式清單中,選擇部署端點的區域。
按一下端點名稱,開啟詳細資料頁面。例如
gemma2-2b-it-mg-one-click-deploy
。在
Gemma 2 (Version 1)
模型所在列中,依序點選 「動作」和「從端點取消部署模型」。在「取消部署端點中的模型」對話方塊中,按一下「取消部署」。
按一下「Back」(返回) 按鈕,返回「Endpoints」(端點) 頁面。
在
gemma2-2b-it-mg-one-click-deploy
資料列的結尾,按一下 「動作」,然後選取「刪除端點」。在確認提示中,按一下「確認」。
- 將 PROJECT_ID 改成您的專案名稱
- LOCATION_ID 改成您部署模型和端點的地區
- 將 ENDPOINT_ID 替換成端點 ID
- 將 DEPLOYED_MODEL_NAME 替換為模型的顯示名稱
- DEPLOYED_MODEL_ID 替換為模型 ID
執行
gcloud ai endpoints list
指令,取得端點 ID。這個指令會列出專案中所有端點的端點 ID。記下本教學課程中使用的端點 ID。gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
輸出內容如下所示。在輸出內容中,ID 稱為
ENDPOINT_ID
。Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
執行
gcloud ai models describe
指令,取得模型 ID。記下您在本教學課程中部署的模型 ID。gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_ID
縮寫輸出內容如下所示。在輸出內容中,ID 稱為
deployedModelId
。Using endpoint [https://us-central1-aiplatform.googleapis.com/] artifactUri: [URI removed] baseModelSource: modelGardenSource: publicModelName: publishers/google/models/gemma2 ... deployedModels: - deployedModelId: '1234567891234567891' endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345 displayName: gemma2-2b-it-12345678912345 etag: [ETag removed] modelSourceInfo: sourceType: MODEL_GARDEN name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345 ...
從端點取消部署模型。您需要先前指令中的端點 ID 和模型 ID。
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
這個指令不會產生任何輸出內容。
執行
gcloud ai endpoints delete
指令,刪除端點。gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
出現提示時,請輸入
y
確認。這個指令不會產生任何輸出內容。前往 Google Cloud 控制台的 Vertex AI 專區,然後前往「Model Registry」頁面。
在「Region」(區域) 下拉式清單中,選擇部署模型的區域。
在
gemma2-2b-it-1234567891234
列的結尾,按一下「動作」 。選取「刪除模型」。
刪除模型時,系統會從專案中刪除所有相關聯的模型版本和評估結果。 Google Cloud
在確認提示中,按一下「刪除」。
- 進一步瞭解 Gemma 開放模型。
- 詳閱《Gemma 使用條款》。
- 進一步瞭解開放模型。
- 瞭解如何部署微調模型。
- 瞭解如何使用 HuggingFace Textgen Inference (TGI),將 Gemma 2 部署至 Google Kubernetes Engine。
- 如要進一步瞭解
PredictionServiceClient
,請參閱您偏好語言的指南:Python、Node.js、Java 或 Go。
設定 Google Cloud CLI
在本機上設定 Google Cloud CLI。
為您的程式設計語言設定 SDK
如要設定本教學課程中使用的環境,請安裝適用於您所用語言的 Vertex AI SDK 和通訊協定緩衝區程式庫。程式碼範例會使用通訊協定緩衝區程式庫中的函式,將輸入字典轉換為 API 預期的 JSON 格式。
在本機上,按一下下列其中一個分頁標籤,安裝您所用程式語言的 SDK。
Python
在本機上,按一下下列其中一個分頁標籤,安裝您程式設計語言的 SDK。
Node.js
執行下列指令,安裝或更新 Node.js 適用的 aiplatform
SDK。
npm install @google-cloud/aiplatform
Java
如要將 google-cloud-aiplatform
新增為依附元件,請為您的環境新增適當的程式碼。
搭配 BOM 使用 Maven
在 pom.xml
中新增下列 HTML:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> </dependencies>
不使用 BOM 的 Maven
請將以下內容新增到 pom.xml
:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>5.28</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency>
不使用 BOM 的 Gradle
請將以下內容新增到 build.gradle
:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'
Go
執行下列指令,安裝這些 Go 套件。
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
使用 Model Garden 部署 Gemma
您可以透過程式部署 Gemma 1B,或透過 Google Cloud 控制台使用模型資訊卡部署模型。
如要進一步瞭解如何設定 Google Gen AI SDK 或 Google Cloud CLI,請參閱 Google Gen AI SDK 總覽或安裝 Google Cloud CLI。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
gcloud
開始之前,請指定配額專案來執行下列指令。您執行的指令會計入該專案的配額。詳情請參閱「設定配額專案」。
REST
列出所有可部署的模型,然後取得要部署的模型 ID。然後,您可以使用預設設定和端點部署模型。您也可以選擇自訂部署作業,例如設定特定機器類型或使用專屬端點。
列出可部署的模型
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
GET https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
"https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS" | Select-Object -Expand Content
您會收到類似以下的 JSON 回應。
{ "publisherModels": [ { "name": "publishers/google/models/gemma3", "versionId": "gemma-3-1b-it", "openSourceCategory": "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", "supportedActions": { "openNotebook": { "references": { "us-central1": { "uri": "https://colab.research.google.com/github/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/model_garden/model_garden_gradio_streaming_chat_completions.ipynb" } }, "resourceTitle": "Notebook", "resourceUseCase": "Chat Completion Playground", "resourceDescription": "Chat with deployed Gemma 2 endpoints via Gradio UI." }, "deploy": { "modelDisplayName": "gemma-3-1b-it", "containerSpec": { "imageUri": "us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250312_0916_RC01", "args": [ "python", "-m", "vllm.entrypoints.api_server", "--host=0.0.0.0", "--port=8080", "--model=gs://vertex-model-garden-restricted-us/gemma3/gemma-3-1b-it", "--tensor-parallel-size=1", "--swap-space=16", "--gpu-memory-utilization=0.95", "--disable-log-stats" ], "env": [ { "name": "MODEL_ID", "value": "google/gemma-3-1b-it" }, { "name": "DEPLOY_SOURCE", "value": "UI_NATIVE_MODEL" } ], "ports": [ { "containerPort": 8080 } ], "predictRoute": "/generate", "healthRoute": "/ping" }, "dedicatedResources": { "machineSpec": { "machineType": "g2-standard-12", "acceleratorType": "NVIDIA_L4", "acceleratorCount": 1 } }, "publicArtifactUri": "gs://vertex-model-garden-restricted-us/gemma3/gemma3.tar.gz", "deployTaskName": "vLLM 128K context", "deployMetadata": { "sampleRequest": "{\n \"instances\": [\n {\n \"@requestFormat\": \"chatCompletions\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"What is machine learning?\"\n }\n ],\n \"max_tokens\": 100\n }\n ]\n}\n" } }, ...
部署模型
從 Model Garden 部署模型,或從 Hugging Face 部署模型。您也可以指定其他 JSON 欄位,自訂部署作業。
使用預設設定部署模型。
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy
JSON 要求主體:
{ "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
cat > request.json << 'EOF' { "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } } EOF
接著,請執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
@' { "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,請執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
您會收到類似以下的 JSON 回應。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata", "genericMetadata": { "createTime": "2025-03-13T21:44:44.538780Z", "updateTime": "2025-03-13T21:44:44.538780Z" }, "publisherModel": "publishers/google/models/gemma3@gemma-3-1b-it", "destination": "projects/PROJECT_ID/locations/LOCATION", "projectNumber": "PROJECT_ID" } }
部署 Hugging Face 模型
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy
JSON 要求主體:
{ "hugging_face_model_id": "MODEL_ID", "hugging_face_access_token": "ACCESS_TOKEN", "model_config": { "accept_eula": "true" } }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
cat > request.json << 'EOF' { "hugging_face_model_id": "MODEL_ID", "hugging_face_access_token": "ACCESS_TOKEN", "model_config": { "accept_eula": "true" } } EOF
接著,請執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
@' { "hugging_face_model_id": "MODEL_ID", "hugging_face_access_token": "ACCESS_TOKEN", "model_config": { "accept_eula": "true" } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,請執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
您會收到類似以下的 JSON 回應。
{ "name": "projects/PROJECT_ID/locations/us-central1LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata", "genericMetadata": { "createTime": "2025-03-13T21:44:44.538780Z", "updateTime": "2025-03-13T21:44:44.538780Z" }, "publisherModel": "publishers/PUBLISHER_NAME/model/MODEL_NAME", "destination": "projects/PROJECT_ID/locations/LOCATION", "projectNumber": "PROJECT_ID" } }
部署自訂模型
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy
JSON 要求主體:
{ "publisher_model_name": "MODEL_ID", "deploy_config": { "dedicated_resources": { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT, "reservation_affinity": { "reservation_affinity_type": "ANY_RESERVATION" } }, "spot": "false" } }, "model_config": { "accept_eula": "true", "container_spec": { "image_uri": "IMAGE_URI", "args": [CONTAINER_ARGS ], "ports": [ { "container_port": CONTAINER_PORT } ] } }, "deploy_config": { "fast_tryout_enabled": false }, }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
cat > request.json << 'EOF' { "publisher_model_name": "MODEL_ID", "deploy_config": { "dedicated_resources": { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT, "reservation_affinity": { "reservation_affinity_type": "ANY_RESERVATION" } }, "spot": "false" } }, "model_config": { "accept_eula": "true", "container_spec": { "image_uri": "IMAGE_URI", "args": [CONTAINER_ARGS ], "ports": [ { "container_port": CONTAINER_PORT } ] } }, "deploy_config": { "fast_tryout_enabled": false }, } EOF
接著,請執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。
在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:
@' { "publisher_model_name": "MODEL_ID", "deploy_config": { "dedicated_resources": { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT, "reservation_affinity": { "reservation_affinity_type": "ANY_RESERVATION" } }, "spot": "false" } }, "model_config": { "accept_eula": "true", "container_spec": { "image_uri": "IMAGE_URI", "args": [CONTAINER_ARGS ], "ports": [ { "container_port": CONTAINER_PORT } ] } }, "deploy_config": { "fast_tryout_enabled": false }, } '@ | Out-File -FilePath request.json -Encoding utf8
接著,請執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
您會收到類似以下的 JSON 回應。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata", "genericMetadata": { "createTime": "2025-03-13T21:44:44.538780Z", "updateTime": "2025-03-13T21:44:44.538780Z" }, "publisherModel": "publishers/google/models/gemma3@gemma-3-1b-it", "destination": "projects/PROJECT_ID/locations/LOCATION", "projectNumber": "PROJECT_ID" } }
控制台
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。 詳情請參閱 Terraform 供應商參考說明文件。
部署模型
下列範例會使用預設設定,將 gemma-3-1b-it
模型部署至 us-central1
中的新 Vertex AI 端點。
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "6.45.0"
}
}
}
provider "google" {
region = "us-central1"
}
resource "google_vertex_ai_endpoint_with_model_garden_deployment" "gemma_deployment" {
publisher_model_name = "publishers/google/models/gemma3@gemma-3-1b-it"
location = "us-central1"
model_config {
accept_eula = True
}
}
如要部署自訂模型,請參閱「透過 Model Garden 部署 Vertex AI 端點」一文。
套用設定
terraform init
terraform plan
terraform apply
套用設定後,Terraform 會佈建新的 Vertex AI 端點,並部署指定的開放式模型。
清除
如要刪除端點和模型部署作業,請執行下列指令:
terraform destroy
使用 PredictionServiceClient 推論 Gemma 1B
部署 Gemma 1B 後,您可以使用 PredictionServiceClient
,針對「為什麼天空是藍的?」提示取得線上預測。
程式碼參數
您必須更新 PredictionServiceClient
程式碼範例中的下列項目。
程式碼範例
在您所用語言的範例程式碼中,更新 PROJECT_ID
、ENDPOINT_REGION
和 ENDPOINT_ID
。然後執行程式碼。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
Node.js
在試用這個範例之前,請先按照Node.js使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
在試用這個範例之前,請先按照Java使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
在試用這個範例之前,請先按照Go使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Go API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除含有該項資源的專案,或者保留專案但刪除個別資源。
刪除專案
刪除個別資源
如要保留專案,請刪除本教學課程中使用的資源:
取消部署模型並刪除端點
請使用下列其中一種方法取消部署模型並刪除端點。
主控台
gcloud
如要使用 Google Cloud CLI 取消部署模型並刪除端點,請按照下列步驟操作。
在這些指令中,請按照以下方式替換:
刪除模型
主控台
gcloud
如要使用 Google Cloud CLI 刪除模型,請將模型的顯示名稱和區域提供給 gcloud ai models delete
指令。
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
將 DEPLOYED_MODEL_NAME 替換為模型的顯示名稱。 將 PROJECT_ID 替換為您的專案名稱。將 LOCATION_ID 替換為部署模型的區域。