在Google Cloud 控制台中使用 Model Garden 探索、測試、調整及部署模型。您也可以使用 Google Cloud CLI 部署 Model Garden 模型。
傳送測試提示
前往 Google Cloud 控制台的「Model Garden」頁面。
找出要測試的支援型號,然後按一下「查看詳細資料」。
按一下「開啟提示設計頁面」。
系統會將您帶往「提示設計」頁面。
在「提示」中,輸入要測試的提示。
選用步驟:設定模型參數。
按一下「提交」。
調整模型
前往 Google Cloud 控制台的「Model Garden」頁面。
在「搜尋模型」中輸入 BERT 或 T5-FLAN,然後按一下放大鏡圖示進行搜尋。
點按「T5-FLAN」或「BERT」模型資訊卡上的「查看詳細資料」。
按一下「Open fine-tuning pipeline」(開啟微調管線)。
系統會將您導向 Vertex AI Pipelines 頁面。
如要開始調整,請按一下「建立執行」。
在筆記本中微調
大多數開放原始碼基礎模型和可微調模型的模型資訊卡,都支援在筆記本中進行微調。
前往 Google Cloud 控制台的「Model Garden」頁面。
找到要微調的支援模型,然後前往該模型的資訊卡。
按一下「開啟筆記本」。
部署開放式模型
您可以透過程式部署模型,或透過 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 參考說明文件。
列出可部署的模型,並記錄要部署的模型 ID。您可以選擇列出 Model Garden 中支援的 Hugging Face 模型,甚至依模型名稱篩選。輸出內容不含任何微調模型。
使用上一步的模型 ID,查看模型的部署規格。您可以查看 Model Garden 為特定模型驗證的機器類型、加速器類型和容器映像檔 URI。
將模型部署至端點。除非您指定其他引數和值,否則 Model Garden 會使用預設部署設定。
gcloud
開始之前,請指定配額專案來執行下列指令。您執行的指令會計入該專案的配額。詳情請參閱「設定配額專案」。
執行
gcloud ai model-garden models list
指令,列出可部署的模型。這項指令會列出所有模型 ID,以及您可以自行部署的模型 ID。gcloud ai model-garden models list
在輸出內容中,找出要部署的模型 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、端點名稱等資訊,以及端點是否與已部署的模型建立關聯。如要尋找部署作業,請找出先前指令傳回的端點名稱。
REST
列出所有可部署的模型,然後取得要部署的模型 ID。然後,您可以使用預設設定和端點部署模型。您也可以選擇自訂部署作業,例如設定特定機器類型或使用專屬端點。
1. 列出可部署的模型
使用任何要求資料之前,請先替換以下項目:
- 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
。
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" } }, ...
2. 部署模型
從 Model Garden 部署模型,或部署 Hugging Face 中的模型。您也可以指定其他 JSON 欄位,自訂部署作業。
使用預設設定部署模型。
使用任何要求資料之前,請先替換以下項目:
- LOCATION:模型部署的區域。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- MODEL_ID:要部署的模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 格式如下:publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION。
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 模型
使用任何要求資料之前,請先替換以下項目:
- LOCATION:模型部署的區域。
- PROJECT_ID:您的 Google Cloud 專案 ID。
- MODEL_ID:要部署的 Hugging Face 模型 ID,您可以列出所有可部署的模型,ID 格式如下: PUBLISHER_NAME/MODEL_NAME。
- ACCESS_TOKEN:如果模型受到限制,請提供存取權杖。
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" } }
部署自訂模型
使用任何要求資料之前,請先替換以下項目:
- 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
:測試模型時,您可以選擇使用較快的部署作業。這個選項僅適用於特定機器類型中經常使用的模型。啟用後,您就無法指定模型或部署設定。
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" } }
控制台
前往 Google Cloud 控制台的「Model Garden」頁面。
找出要部署的支援模型,然後按一下模型資訊卡。
按一下「Deploy」(部署),開啟「Deploy model」(部署模型)窗格。
在「Deploy model」(部署模型) 窗格中,指定部署作業的詳細資料。
- 使用或修改產生的模型和端點名稱。
- 選取要建立模型端點的位置。
- 為部署項目的每個節點選取要使用的機器類型。
- 如要使用 Compute Engine 預留項目,請在「部署設定」部分下方選取「進階」。
在「預訂類型」欄位中,選取預訂類型。預留項目必須符合您指定的機器規格。
- 自動使用建立的預留項目:Vertex AI 會自動選取具有相符屬性的允許預留項目。如果自動選取的預留項目沒有容量,Vertex AI 會使用一般 Google Cloud 資源集區。
- 選取特定預留項目:Vertex AI 會使用特定預留項目。如果所選預留項目沒有運算資源,系統會擲回錯誤。
- 不使用 (預設):Vertex AI 會使用一般Google Cloud 資源集區。這個值與未指定預訂項目效果相同。
按一下「Deploy」(部署)。
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
}
}
如要部署自訂模型,請參閱「Vertex AI 端點搭配 Model Garden 部署作業」一文。
套用設定
terraform init
terraform plan
terraform apply
套用設定後,Terraform 會佈建新的 Vertex AI 端點,並部署指定的開放模型。
清除
如要刪除端點和模型部署作業,請執行下列指令:
terraform destroy
部署合作夥伴模型並提出預測要求
在 Google Cloud 控制台中,前往「Model Garden」頁面,然後使用「Model collections」篩選器查看「Self-deploy partner models」。從自行部署的合作夥伴模型清單中選擇模型,然後按一下「啟用」購買模型。
您必須按照合作夥伴模型資訊卡「建議硬體設定」一節的說明,部署在合作夥伴的必要機型上。部署後,模型服務資源會位於安全的 Google 管理專案中。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
在程式碼中,替換下列預留位置:
- LOCATION:您打算部署模型和端點的區域。
- PROJECT_ID:您的專案 ID。
- DISPLAY_NAME:相關聯資源的說明名稱。
- PUBLISHER_NAME:提供模型以供上傳或部署的合作夥伴名稱。
- PUBLISHER_MODEL_NAME:要上傳的模型名稱。
- MACHINE_TYPE:定義要為模型部署的資源集,例如
g2-standard-4
。你必須符合合作夥伴提供的其中一種設定。 - ACCELERATOR_TYPE:指定要新增至部署作業的加速器,以利處理
NVIDIA_L4
等密集型工作負載時提升效能。你必須符合合作夥伴提供的其中一種設定。 - ACCELERATOR_COUNT:要使用的加速器數量。您必須符合合作夥伴提供的其中一項設定。
- REQUEST_PAYLOAD:預測要求中要納入的欄位和值。查看合作夥伴的 Model Garden 模型資訊卡,瞭解可用欄位。
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=LOCATION)
# Upload a model
model = aiplatform.Model.upload(
display_name="DISPLAY_NAME_MODEL",
model_garden_source_model_name = f"publishers/PUBLISHER_NAME/models/PUBLISHER_MODEL_NAME",
)
# Create endpoint
my_endpoint = aiplatform.Endpoint.create(display_name="DISPLAY_NAME_ENDPOINT")
# Deploy model
MACHINE_TYPE = "MACHINE_TYPE" # @param {type: "string"}
ACCELERATOR_TYPE = "ACCELERATOR_TYPE" # @param {type: "string"}
ACCELERATOR_COUNT = ACCELERATOR_COUNT # @param {type: "number"}
model.deploy(
endpoint=my_endpoint,
deployed_model_display_name="DISPLAY_NAME_DEPLOYED_MODEL",
traffic_split={"0": 100},
machine_type=MACHINE_TYPE,
accelerator_type=ACCELERATOR_TYPE,
accelerator_count=ACCELERATOR_COUNT,
min_replica_count=1,
max_replica_count=1,
)
# Unary call for predictions
PAYLOAD = {
REQUEST_PAYLOAD
}
request = json.dumps(PAYLOAD)
response = my_endpoint.raw_predict(
body = request,
headers = {'Content-Type':'application/json'}
)
print(response)
# Streaming call for predictions
PAYLOAD = {
REQUEST_PAYLOAD
}
request = json.dumps(PAYLOAD)
for stream_response in my_endpoint.stream_raw_predict(
body = request,
headers = {'Content-Type':'application/json'}
):
print(stream_response)
REST
列出所有可部署的模型,然後取得要部署的模型 ID。然後,您可以使用預設設定和端點部署模型。您也可以選擇自訂部署作業,例如設定特定機器類型或使用專屬端點。
在範例 cURL 指令中,請替換下列預留位置:
- LOCATION:您打算部署模型和端點的區域。
- PROJECT_ID:您的專案 ID。
- DISPLAY_NAME:相關聯資源的說明名稱。
- PUBLISHER_NAME:提供模型以供上傳或部署的合作夥伴名稱。
- PUBLISHER_MODEL_NAME:要上傳的模型名稱。
- ENDPOINT_ID:端點的 ID。
- MACHINE_TYPE:定義要為模型部署的資源集,例如
g2-standard-4
。你必須符合合作夥伴提供的其中一種設定。 - ACCELERATOR_TYPE:指定要新增至部署作業的加速器,以利處理
NVIDIA_L4
等密集型工作負載時提升效能。你必須符合合作夥伴提供的其中一種設定。 - ACCELERATOR_COUNT:要使用的加速器數量。您必須符合合作夥伴提供的其中一項設定。
- REQUEST_PAYLOAD:預測要求中要納入的欄位和值。查看合作夥伴的 Model Garden 模型資訊卡,瞭解可用欄位。
上傳模型,將其新增至模型登錄。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://LOCATION-aiplatform.googleapi.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/models:upload \ -d '{ "model": { "displayName": "DISPLAY_NAME_MODEL", "baseModelSource": { "modelGardenSource": { "publicModelName": f"publishers/PUBLISHER_NAME/models/PUBLISHER_MODEL_NAME", } } } }'
建立端點。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints \ -d '{ "displayName": "DISPLAY_NAME_ENDPOINT" }'
將上傳的模型部署至端點。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel \ -d '{ "deployedModel": { "model": f"projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID", "displayName": "DISPLAY_NAME_DEPLOYED_MODEL", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount":"ACCELERATOR_COUNT", }, "minReplicaCount": 1, "maxReplicaCount": 1 }, }, "trafficSplit": { "0": 100 } }'
模型部署之後,您就可以進行一元或串流呼叫來取得預測結果。查看合作夥伴的 Model Garden 模型資訊卡,瞭解支援哪些 API 方法。
- 單元呼叫範例:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:rawPredict \ -d 'REQUEST_PAYLOAD'
- 串流呼叫範例:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:streamRawPredict \ -d 'REQUEST_PAYLOAD'
控制台
前往 Google Cloud 控制台的「Model Garden」頁面。
如要尋找特定模型,請在 Model Garden 的搜尋框中輸入模型名稱。
如要查看所有可自行部署的模型,請在篩選器窗格的「模型集合」部分,選取「自行部署的合作夥伴模型」。結果清單會列出所有可自行部署的合作夥伴模型。
按一下要部署的模型名稱,開啟模型資訊卡。
按一下「部署選項」。
在「Deploy on Vertex AI」(在 Vertex AI 上部署) 窗格中,設定部署作業,例如位置和機器類型。
按一下 [Deploy] (部署)。
部署完成後,您可以使用 SDK 或 API 要求預測結果。如需其他操作說明,請參閱模型資訊卡的「說明文件」部分。
查看或管理端點
如要查看及管理端點,請前往 Vertex AI 的「線上預測」頁面。
Vertex AI 會列出專案中特定區域的所有端點。按一下端點即可查看詳細資料,例如部署至端點的模型。
取消部署模型並刪除資源
如要停止已部署的模型在專案中使用資源,請從端點取消部署模型。您必須先取消部署模型,才能刪除端點和模型。
可取消部署模型
從端點取消部署模型。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
在程式碼中,請按照以下方式替換:
- 將 PROJECT_ID 改成您的專案 ID
- LOCATION 改成您的區域,例如「us-central1」
- 將 ENDPOINT_ID 改成端點 ID
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=LOCATION)
# To find out which endpoints are available, un-comment the line below:
# endpoints = aiplatform.Endpoint.list()
endpoint = aiplatform.Endpoint(ENDPOINT_ID)
endpoint.undeploy_all()
gcloud
在這些指令中,請按照以下方式替換:
- 將 PROJECT_ID 改成您的專案名稱
- LOCATION_ID 改成您部署模型和端點的地區
- 將 ENDPOINT_ID 替換成端點 ID
- 將 MODEL_ID 替換為清單模型指令中的模型 ID
- 將 DEPLOYED_MODEL_ID 替換為已部署的模型 ID
執行
gcloud ai endpoints list
指令,找出與部署作業相關聯的端點 ID。gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
執行
gcloud ai models list
指令,找出模型 ID。gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION_ID
使用上一個指令中的模型 ID,執行
gcloud ai models describe
指令,取得已部署的模型 ID。gcloud ai models describe MODEL_ID \ --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 ...
執行
gcloud ai endpoints undeploy-model
指令,使用上一個指令中的端點 ID 和已部署模型 ID,從端點取消部署模型。gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
這個指令不會產生任何輸出內容。
控制台
在 Google Cloud 控制台中,前往「Online prediction」(線上預測) 頁面的「Endpoints」(端點) 分頁。
在「Region」(區域) 下拉式清單中,選擇端點所在的區域。
按一下端點名稱,開啟詳細資料頁面。
在模型所在的資料列中,按一下
「Actions」(動作),然後選取「Undeploy model from endpoint」(從端點取消部署模型)。在「取消部署端點中的模型」對話方塊中,按一下「取消部署」。
可刪除端點
刪除與模型部署作業相關聯的 Vertex AI 端點。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
在程式碼中,請按照以下方式替換:
- 將 PROJECT_ID 改成您的專案 ID
- LOCATION 改成您的區域,例如「us-central1」
- 將 ENDPOINT_ID 改成端點 ID
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=LOCATION)
# To find out which endpoints are available, un-comment the line below:
# endpoints = aiplatform.Endpoint.list()
endpoint = aiplatform.Endpoint(ENDPOINT_ID)
endpoint.delete()
gcloud
在這些指令中,請按照以下方式替換:- 將 PROJECT_ID 改成您的專案名稱
- LOCATION_ID 改成您部署模型和端點的地區
- 將 ENDPOINT_ID 替換成端點 ID
執行
gcloud ai endpoints list
指令,取得要刪除的端點 ID。這個指令會列出專案中所有端點的端點 ID。gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
執行
gcloud ai endpoints delete
指令,刪除端點。gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
出現提示時,請輸入
y
確認。這個指令不會產生任何輸出內容。
控制台
在 Google Cloud 控制台中,前往「Online prediction」(線上預測) 頁面的「Endpoints」(端點) 分頁。
在「Region」(區域) 下拉式清單中,選擇端點所在的區域。
在端點列的結尾,按一下「動作」
,然後選取「刪除端點」。在確認提示中,按一下「確認」。
可刪除模型
刪除與模型部署作業相關聯的模型資源。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
在程式碼中,請按照以下方式替換:
- 將 PROJECT_ID 改成您的專案 ID
- LOCATION 改成您的區域,例如「us-central1」
- 將 MODEL_ID 改成模型 ID
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=LOCATION)
# To find out which models are available in Model Registry, un-comment the line below:
# models = aiplatform.Model.list()
model = aiplatform.Model(MODEL_ID)
model.delete()
gcloud
在這些指令中,請按照以下方式替換:- 將 PROJECT_ID 改成您的專案名稱
- LOCATION_ID 改成您部署模型和端點的地區
- 將 MODEL_ID 替換為清單模型指令中的模型 ID
執行
gcloud ai models list
指令,找出要刪除的模型 ID。gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION_ID
執行
gcloud ai models delete
指令,並提供模型 ID 和模型位置,即可刪除模型。gcloud ai models delete MODEL_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
控制台
前往 Google Cloud 控制台的 Vertex AI 專區,然後前往「Model Registry」頁面。
在「Region」(區域) 下拉式清單中,選擇您部署模型的區域。
在模型所在的資料列中,按一下
「Actions」(動作),然後選取「Delete model」(刪除模型)。刪除模型時,系統會從專案中刪除所有相關聯的模型版本和評估結果。 Google Cloud
在確認提示中,按一下「刪除」。
查看程式碼範例
特定工作解決方案模型的大部分模型資訊卡都包含程式碼範例,您可以複製並測試。
前往 Google Cloud 控制台的「Model Garden」頁面。
找出要查看程式碼範例的支援模型,然後按一下「說明文件」分頁標籤。
網頁會捲動至說明文件部分,並在適當位置嵌入範例程式碼。
建立 Vision 應用程式
適用電腦視覺模型的模型資訊卡支援建立視覺應用程式。
前往 Google Cloud 控制台的「Model Garden」頁面。
在「Task specific solutions」部分中,找出要用來建立影像應用程式的影像模型,然後按一下「View details」。
按一下「Build app」(建立應用程式)。
系統會將您帶往 Vertex AI Vision。
在「應用程式名稱」中輸入應用程式名稱,然後按一下「繼續」。
選取帳單方案,然後按一下「建立」。
系統會將您帶往 Vertex AI Vision Studio,您可以在這裡繼續建立電腦視覺應用程式。