在 Model Garden 中使用模型

在Google Cloud 主控台中使用 Model Garden 探索、測試、調整及部署模型。您也可以使用 Google Cloud CLI 部署 Model Garden 模型。

傳送測試提示

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 找出要測試的支援型號,然後按一下「查看詳細資料」

  3. 按一下「開啟提示設計」

    系統會將您導向「提示設計」頁面。

  4. 在「提示」中,輸入要測試的提示。

  5. 選用步驟:設定模型參數。

  6. 按一下「提交」

調整模型

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 在「搜尋模型」中輸入「BERT」或「T5-FLAN」,然後按一下放大鏡圖示進行搜尋。

  3. 點按 T5-FLANBERT 模型資訊卡上的「查看詳細資料」

  4. 按一下「開啟微調管道」

    系統會將您導向 Vertex AI Pipelines 頁面。

  5. 如要開始調整,請按一下「建立執行作業」

在筆記本中進行調整

大多數開放原始碼基礎模型和可微調模型的模型資訊卡,都支援在筆記本中進行調整。

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 找出要調整的支援模型,然後前往該模型的資訊卡。

  3. 按一下「開啟筆記本」

部署開放式模型

您可以使用 Google Cloud 控制台的模型資訊卡或程式設計來部署模型。

如要進一步瞭解如何設定 Google Gen AI SDK 或 Google Cloud CLI,請參閱 Google Gen AI SDK 總覽或安裝 Google Cloud CLI

Python 適用的 Vertex AI SDK

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for Python API 參考說明文件

  1. 列出可部署的模型,並記錄要部署的模型 ID。您可以選擇在 Model Garden 中列出支援的 Hugging Face 模型,甚至可以依模型名稱篩選模型。輸出內容不包含任何經過調整的模型。

    
    import vertexai
    from vertexai.preview import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    # List deployable models, optionally list Hugging Face models only or filter by model name.
    deployable_models = model_garden.list_deployable_models(list_hf_models=False, model_filter="gemma")
    print(deployable_models)
    # Example response:
    # ['google/gemma2@gemma-2-27b','google/gemma2@gemma-2-27b-it', ...]
    
  2. 使用上一個步驟的模型 ID 查看模型的部署規格。您可以查看 Model Garden 針對特定模型驗證的機器類型、加速器類型和容器映像檔 URI。

    
    import vertexai
    from vertexai.preview import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    # model = "google/gemma3@gemma-3-1b-it"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    # For Hugging Face modelsm the format is the Hugging Face model name, as in
    # "meta-llama/Llama-3.3-70B-Instruct".
    # Go to https://console.cloud.google.com/vertex-ai/model-garden to find all deployable
    # model names.
    
    model = model_garden.OpenModel(model)
    deploy_options = model.list_deploy_options()
    print(deploy_options)
    # Example response:
    # [
    #   dedicated_resources {
    #     machine_spec {
    #       machine_type: "g2-standard-12"
    #       accelerator_type: NVIDIA_L4
    #       accelerator_count: 1
    #     }
    #   }
    #   container_spec {
    #     ...
    #   }
    #   ...
    # ]
    
  3. 將模型部署至端點。除非您指定其他引數和值,否則 Model Garden 會使用預設部署設定。

    
    import vertexai
    from vertexai.preview import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    open_model = model_garden.OpenModel("google/gemma3@gemma-3-12b-it")
    endpoint = open_model.deploy(
        machine_type="g2-standard-48",
        accelerator_type="NVIDIA_L4",
        accelerator_count=4,
        accept_eula=True,
    )
    
    # Optional. Run predictions on the deployed endoint.
    # endpoint.predict(instances=[{"prompt": "What is Generative AI?"}])
    

gcloud

開始之前,請指定配額專案來執行下列指令。您執行的指令會計入該專案的配額。詳情請參閱「設定配額專案」。

  1. 執行 gcloud beta ai model-garden models list 指令,列出可部署的模型。這個指令會列出所有模型 ID,以及您可以自行部署的模型。

    gcloud beta ai model-garden models list
    

    在輸出內容中,找出要部署的模型 ID。以下範例顯示簡略的輸出內容。

    MODEL_ID                                                                SUPPORTS_DEPLOYMENT
    google/gemma2@gemma-2-27b                                               Yes
    google/gemma2@gemma-2-27b-it                                            Yes
    google/gemma2@gemma-2-2b                                                Yes
    google/gemma2@gemma-2-2b-it                                             Yes
    google/gemma2@gemma-2-9b                                                Yes
    google/gemma2@gemma-2-9b-it                                             Yes
    google/gemma@gemma-1.1-2b-it                                            Yes
    google/gemma@gemma-1.1-2b-it-gg-hf                                      Yes
    google/gemma@gemma-1.1-7b-it                                            Yes
    google/gemma@gemma-1.1-7b-it-gg-hf                                      Yes
    google/gemma@gemma-2b                                                   Yes
    google/gemma@gemma-2b-gg-hf                                             Yes
    google/gemma@gemma-2b-it                                                Yes
    google/gemma@gemma-2b-it-gg-hf                                          Yes
    google/gemma@gemma-7b                                                   Yes
    google/gemma@gemma-7b-gg-hf                                             Yes
    google/gemma@gemma-7b-it                                                Yes
    google/gemma@gemma-7b-it-gg-hf                                          Yes
    

    輸出內容不包含任何經過調整的模型或 Hugging Face 模型。如要查看支援哪些 Hugging Face 模型,請新增 --list-supported-hugging-face-models 標記。

  2. 如要查看模型的部署規格,請執行 gcloud beta ai model-garden models list-deployment-config 指令。您可以查看 Model Garden 針對特定模型支援的機器類型、加速器類型和容器映像檔 URI。

    gcloud beta ai model-garden models list-deployment-config \
        --model=MODEL_ID
    

    MODEL_ID 替換為先前清單指令中的模型 ID,例如 google/gemma@gemma-2bstabilityai/stable-diffusion-xl-base-1.0

  3. 執行 gcloud beta ai model-garden models deploy 指令,將模型部署至端點。除非您指定其他引數和值,否則 Model Garden 會為端點產生顯示名稱,並使用預設的部署設定。

    如要非同步執行指令,請加入 --asynchronous 標記。

    gcloud beta 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
    
  4. 如要查看部署作業的詳細資料,請執行 gcloud beta ai endpoints list --list-model-garden-endpoints-only 指令:

    gcloud beta ai endpoints list --list-model-garden-endpoints-only \
        --region=LOCATION_ID
    

    LOCATION_ID 替換為您部署模型的區域。

    輸出內容包含從 Model Garden 建立的所有端點,以及端點 ID、端點名稱和端點是否與已部署的模型相關聯等資訊。如要查看部署作業,請尋找先前指令傳回的端點名稱。

REST

列出所有可部署的模型,然後取得要部署的模型 ID。接著,您可以使用模型的預設設定和端點部署模型。您也可以選擇自訂部署作業,例如設定特定機器類型或使用專屬端點。

1. 列出可部署的模型

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的專案 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/v1beta1/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/v1beta1/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/v1beta1/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:您的專案 ID
  • MODEL_ID:要部署的模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 的格式為:publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/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/v1beta1/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.v1beta1.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:您的專案 ID
  • MODEL_ID:要部署的 Hugging Face 模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 採用以下格式:PUBLISHER_NAME/MODEL_NAME
  • ACCESS_TOKEN:如果模型受到限制,請提供存取權杖

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/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/v1beta1/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.v1beta1.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:您的專案 ID
  • MODEL_ID:要部署的模型 ID,您可以列出所有可部署的模型來取得這個 ID。ID 採用以下格式:publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION,例如 google/gemma@gemma-2bstabilityai/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/v1beta1/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/v1beta1/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/v1beta1/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.v1beta1.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"
  }
}

控制台

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 找出要部署的支援模型,然後按一下模型資訊卡。

  3. 按一下「Deploy」,開啟「Deploy model」窗格。

  4. 在「Deploy model」窗格中,指定部署作業的詳細資料。

    1. 使用或修改產生的模型和端點名稱。
    2. 選取要建立模型端點的位置。
    3. 選取要用於部署項目每個節點的機器類型。
    4. 如要使用 Compute Engine 預留項目,請在「部署設定」部分下方選取「進階」

      在「預訂類型」欄位中,選取預訂類型。預訂的機器規格必須與您指定的機器規格相符。

      • 自動使用已建立的預留項目:Vertex AI 會自動選取符合屬性的允許預留項目。如果自動選取的預留空間沒有可用容量,Vertex AI 會使用一般 Google Cloud資源池。
      • 選取特定預留項目:Vertex AI 會使用特定預留項目。如果所選預訂項目沒有可用容量,系統會擲回錯誤。
      • 不使用 (預設):Vertex AI 會使用一般Google Cloud 資源集區。這個值的效果與未指定保留值相同。
  5. 按一下「Deploy」

部署合作夥伴模型及提出預測要求

開始前,您必須與合作夥伴簽訂協議。這項協議包括同意任何合作夥伴專屬條款、授權要求和價格。如需更多資訊,或要與合作夥伴聯絡,請參閱合作夥伴的 Model Garden 模型資訊卡中的合作夥伴文件,然後按一下「與銷售人員聯絡」

您必須在合作夥伴的必要機器類型上部署,如 Model Garden 模型資訊卡的「建議硬體設定」一節所述。部署時,模型服務資源會位於 Google 管理的安全專案中。

Python 適用的 Vertex AI SDK

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for 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 模型資訊卡,瞭解可用的欄位。
  1. 上傳模型,將模型新增至 Model Registry。

    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",
          }
        }
      }
    }'
    
  2. 建立端點。

    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"
    }'
    
  3. 將上傳的模型部署至端點。

    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
      }
    }'
    
  4. 模型部署完成後,您可以為預測作業建立單一或串流呼叫。查看合作夥伴的 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'
    

控制台

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 如要尋找特定模型,請在 Model Garden 搜尋框中輸入模型名稱。

  3. 如要查看所有可自行部署的模型,請在篩選器窗格中的「模型集合」部分,選取「自行部署的合作夥伴模型」。產生的清單會列出所有可自行部署的合作夥伴模式。

  4. 按一下要部署的模型名稱,即可開啟模型資訊卡。

  5. 按一下「部署選項」

  6. 在「在 Vertex AI 上部署」窗格中,設定部署作業,例如位置和機器類型。

  7. 按一下 [Deploy] (部署)

部署完成後,您可以使用 SDK 或 API 要求預測結果。如需其他操作說明,請參閱模型資訊卡的「說明文件」部分。

查看或管理端點

如要查看及管理端點,請前往 Vertex AI 的「線上預測」頁面。

前往線上預測

Vertex AI 會列出特定區域專案中的所有端點。按一下端點即可查看詳細資料,例如已部署至端點的模型。

取消部署模型並刪除資源

如要停止已部署模型使用專案中的資源,請從端點取消部署模型。您必須先取消部署模型,才能刪除端點和模型。

可取消部署模型

從端點取消部署模型。

Python 適用的 Vertex AI SDK

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for 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
  1. 執行 gcloud ai endpoints list 指令,找出與部署作業相關聯的端點 ID。

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. 執行 gcloud ai models list 指令,找出型號 ID。

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  3. 使用上一個指令的模型 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
    ...
    
  4. 執行 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
    

    這個指令不會產生任何輸出內容。

控制台

  1. 在 Google Cloud 控制台中,前往「線上預測」頁面中的「Endpoints」分頁。

    前往「端點」

  2. 在「Region」下拉式清單中,選擇端點所在的區域。

  3. 按一下端點名稱,開啟詳細資料頁面。

  4. 在模型的資料列上,按一下 「Actions」,然後選取「Undeploy model from endpoint」

  5. 在「Undeploy model from endpoint」對話方塊中,按一下「Undeploy」

可刪除端點

刪除與模型部署作業相關聯的 Vertex AI 端點。

Python 適用的 Vertex AI SDK

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for 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
  1. 執行 gcloud ai endpoints list 指令,取得要刪除的端點 ID。這個指令會列出專案中所有端點的端點 ID。

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. 執行 gcloud ai endpoints delete 指令即可刪除端點。

    gcloud ai endpoints delete ENDPOINT_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    

    出現提示時,請輸入 y 來確認。這個指令不會產生任何輸出內容。

控制台

  1. 在 Google Cloud 控制台中,前往「線上預測」頁面中的「Endpoints」分頁。

    前往「端點」

  2. 在「區域」下拉式清單中,選擇端點所在的區域。

  3. 在端點列的結尾,按一下 「Actions」,然後選取「Delete endpoint」

  4. 在確認提示中,按一下「確認」

可刪除模型

刪除與模型部署作業相關聯的模型資源。

Python 適用的 Vertex AI SDK

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for 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
  1. 執行 gcloud ai models list 指令,找出要刪除的模型 ID。

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. 執行 gcloud ai models delete 指令,提供模型 ID 和模型位置,即可刪除模型。

    gcloud ai models delete MODEL_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    

控制台

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「Model Registry」頁面。

    前往「Model Registry」頁面

  2. 在「Region」下拉式清單中,選擇部署模型的區域。

  3. 在模型的資料列上,按一下 「Actions」,然後選取「Delete model」

    刪除模型後,系統會從 Google Cloud 專案中刪除所有相關聯的模型版本和評估結果。

  4. 在確認提示中,按一下「刪除」

查看程式碼範例

大部分的特定工作解決方案模型資訊卡都包含可複製及測試的程式碼範例。

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 找出您要查看程式碼範例的支援模型,然後按一下「說明文件」分頁標籤。

  3. 頁面會捲動至內嵌範例程式碼的說明文件部分。

建立視覺應用程式

適用電腦視覺模型的模型資訊卡可支援建立視覺應用程式。

  1. 前往 Google Cloud 控制台的「Model Garden」頁面。

    前往 Model Garden

  2. 在「工作專屬解決方案」部分中找出要用來建立視覺應用程式的視覺模型,然後按一下「查看詳細資料」

  3. 按一下「Build app」

    系統會將您帶往 Vertex AI Vision。

  4. 在「應用程式名稱」中輸入應用程式名稱,然後按一下「繼續」

  5. 選取帳單方案,然後按一下「建立」

    系統會將您帶往 Vertex AI Vision Studio,您可以在該處繼續建立電腦視覺應用程式。