使用以 Private Service Connect 為基礎的專屬私人端點進行線上推論

透過 Private Service Connect,您可以從多個用戶端專案和虛擬私有雲網路安全地存取 Vertex AI 線上推論,不需要公開 IP 位址、公開網際網路存取權或明確對等互連的內部 IP 位址範圍。

如果線上推論用途符合下列需求,建議使用 Private Service Connect:

  • 要求使用私人安全連線
  • 要求低延遲
  • 不必公開存取

Private Service Connect 會使用虛擬私有雲網路中的轉送規則,將流量單向傳送至 Vertex AI 線上推論服務。轉送規則會連線至服務附件,將 Vertex AI 服務公開至您的虛擬私有雲網路。詳情請參閱「透過 Private Service Connect 存取 Vertex AI 服務」。 如要進一步瞭解如何設定 Private Service Connect,請參閱虛擬私有雲 (VPC) 說明文件中的 Private Service Connect 總覽

專屬私人端點支援 HTTP 和 gRPC 通訊協定。如果是 gRPC 要求,則必須加入 x-vertex-ai-endpoint-id 標頭,才能正確識別端點。系統支援下列 API:

  • 預測
  • RawPredict
  • StreamRawPredict
  • Chat Completion (僅限 Model Garden)

您可以使用 Python 適用的 Vertex AI SDK,將線上推論要求傳送至專屬的私人端點。詳情請參閱「取得線上推論結果」。

必要的角色

如要取得建立 Private Service Connect 端點所需的權限,請要求管理員授予您專案的 Vertex AI 使用者 (roles/aiplatform.user) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色包含 aiplatform.endpoints.create權限,這是建立 Private Service Connect 端點的必要權限。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

如要進一步瞭解 Vertex AI 角色和權限,請參閱「使用 IAM 控管 Vertex AI 存取權」和「Vertex AI IAM 權限」。

建立線上推論端點

請使用下列其中一種方法,建立啟用 Private Service Connect 的線上推論端點。

Private Service Connect 端點的預設要求逾時時間為 10 分鐘。在 Python 適用的 Vertex AI SDK 中,您可以指定新的 inference_timeout 值,選擇性地指定不同的要求逾時,如下列範例所示。逾時值上限為 3600 秒 (1 小時)。

主控台

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

    前往線上預測頁面

  2. 點選「建立」

  3. 提供端點的顯示名稱。

  4. 選取「私人」

  5. 選取「Private Service Connect」

  6. 按一下「選取專案 ID」

  7. 選取要新增至端點許可清單的專案。

  8. 按一下「繼續」

  9. 選擇模型規格。詳情請參閱將模型部署至端點

  10. 按一下「建立」,建立端點並將模型部署至該端點。

  11. 記下回應中的端點 ID。

API

REST

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

  • VERTEX_AI_PROJECT_ID:您要建立線上預測端點的 Google Cloud 專案 ID。
  • :您使用 Vertex AI 的區域。REGION
  • VERTEX_AI_ENDPOINT_NAME:線上預測端點的顯示名稱。
  • ALLOWED_PROJECTS:以逗號分隔的 Google Cloud 專案 ID 清單,每個 ID 都以引號括住,例如 ["PROJECTID1", "PROJECTID2"]。如果專案不在這個清單中,您就無法從該專案將預測要求傳送至 Vertex AI 端點。請務必將 VERTEX_AI_PROJECT_ID 納入這個清單,這樣您就能從端點所在的專案呼叫端點。
  • INFERENCE_TIMEOUT_SECS:(選用) 選填 inferenceTimeout 欄位中的秒數。

HTTP 方法和網址:

POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints

JSON 要求主體:

{
  "displayName": "VERTEX_AI_ENDPOINT_NAME",
  "privateServiceConnectConfig": {
    "enablePrivateServiceConnect": true,
    "projectAllowlist": ["ALLOWED_PROJECTS"],
    "clientConnectionConfig": {
      "inferenceTimeout": {
        "seconds": INFERENCE_TIMEOUT_SECS
      }
    }
  }
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

{
  "name": "projects/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata",
    "genericMetadata": {
      "createTime": "2020-11-05T17:45:42.812656Z",
      "updateTime": "2020-11-05T17:45:42.812656Z"
    }
  }
}
請記下 ENDPOINT_ID

Python

在試用這個範例之前,請先按照Python使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Python API 參考說明文件

如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

更改下列內容:

  • VERTEX_AI_PROJECT_ID:您要建立線上推論端點的 Google Cloud 專案 ID
  • REGION:您使用 Vertex AI 的區域
  • VERTEX_AI_ENDPOINT_NAME:線上推論端點的顯示名稱
  • ALLOWED_PROJECTS:以半形逗號分隔的專案 ID 清單,每個 ID 都以引號括住。 Google Cloud例如:["PROJECTID1", "PROJECTID2"]。如果專案未列於此清單,您就無法從該專案將推論要求傳送至 Vertex AI 端點。請務必將 VERTEX_AI_PROJECT_ID 加入這個清單,這樣您就能從端點所在的專案呼叫端點。
  • INFERENCE_TIMEOUT_SECS:(選用) 選用 inference_timeout 值中的秒數。
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"
INFERENCE_TIMEOUT_SECS = "INFERENCE_TIMEOUT_SECS"

from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=REGION)

# Create the forwarding rule in the consumer project
psc_endpoint = aiplatform.PrivateEndpoint.create(
display_name=VERTEX_AI_ENDPOINT_NAME,
project=PROJECT_ID,
location=REGION,
private_service_connect_config=aiplatform.PrivateEndpoint.PrivateServiceConnectConfig(
    project_allowlist=["ALLOWED_PROJECTS"],
    ),
inference_timeout=INFERENCE_TIMEOUT_SECS,
)

請記下傳回端點 URI 結尾的 ENDPOINT_ID

INFO:google.cloud.aiplatform.models:To use this PrivateEndpoint in another session:
INFO:google.cloud.aiplatform.models:endpoint = aiplatform.PrivateEndpoint('projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID')

使用 PSC 自動化功能建立線上推論端點 (搶先版)

線上推論會整合服務連線自動化,讓您透過 PSC 自動化設定推論端點。這項功能會自動建立 PSC 端點,簡化程序,對於沒有權限在專案中建立轉送規則等網路資源的機器學習開發人員來說,特別有幫助。

如要開始使用,網路管理員必須建立服務連線政策。這項政策是每個專案和網路的一次性設定,可讓 Vertex AI (服務類別 gcp-vertexai) 在專案和網路中產生 PSC 端點。

接下來,您可以使用 PSC 自動化設定建立端點,然後部署模型。部署作業完成後,您就能在端點中存取相關的 PSC 端點資訊。

限制

  • 不支援 VPC Service Controls。
  • PSC 自動化設定的區域限制為 500 個端點。
  • 如果沒有模型部署至端點,或模型正在部署至端點,系統就會清除 PSC 自動化結果。清理完畢並部署模型後,新的自動化結果會顯示不同的 IP 位址和轉送規則。

建立服務連線政策

您必須是網路管理員,才能建立服務連線政策。您必須啟用服務連線政策,Vertex AI 才能在您的網路中建立 PSC 端點。如果沒有有效的政策,自動化作業就會失敗,並顯示 CONNECTION_POLICY_MISSING 錯誤。

  1. 建立服務連線政策。

    • POLICY_NAME:使用者指定的政策名稱。
    • PROJECT_ID:您要建立 Vertex AI 資源的服務專案 ID。

    • VPC_PROJECT:用戶端 VPC 所在的專案 ID。 如果是單一 VPC 設定,這與 $PROJECT 相同。如果是共用虛擬私有雲設定,則為虛擬私有雲主專案。

    • NETWORK_NAME:要部署的網路名稱。

    • REGION:網路的區域。

    • PSC_SUBNETS:要使用的 Private Service Connect 子網路。

    gcloud network-connectivity service-connection-policies create POLICY_NAME \
        --project=VPC_PROJECT \
        --network=projects/PROJECT_ID/global/networks/NETWORK_NAME \
        --service-class=gcp-vertexai --region=REGION --subnets=PSC_SUBNETS
    
  2. 查看服務連線政策。

    gcloud network-connectivity service-connection-policies list \
        --project=VPC_PROJECT -region=REGION

    如果是單一 VPC 設定,範例如下:

        gcloud network-connectivity service-connection-policies create test-policy \
            --network=default \
            --project=YOUR_PROJECT_ID \
            --region=us-central1 \
            --service-class=gcp-vertexai \
            --subnets=default \
            --psc-connection-limit=500 \
            --description=test

使用 PSC 自動化設定建立線上推論端點

PSCAutomationConfig 中,確認 projectId 是否在許可清單中。

REST

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

  • REGION:您使用 Vertex AI 的區域。
  • VERTEX_AI_PROJECT_ID:您要建立線上推論端點的 Google Cloud 專案 ID。
  • VERTEX_AI_ENDPOINT_NAME:線上預測端點的顯示名稱。
  • NETWORK_NAME:完整資源名稱,包括專案 ID,而非專案編號。

HTTP 方法和網址:

POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints

JSON 要求主體:

{
  {
    displayName: "VERTEX_AI_ENDPOINT_NAME",
    privateServiceConnectConfig: {
      enablePrivateServiceConnect: true,
      projectAllowlist: ["VERTEX_AI_PROJECT_ID"],
      pscAutomationConfigs: [
        { "project_id": "VERTEX_AI_PROJECT_ID", "network": "projects/VERTEX_AI_PROJECT_ID/global/networks/NETWORK_NAME" },
      ],
    },
  },

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

{
  "name": "projects/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata",
    "genericMetadata": {
      "createTime": "2020-11-05T17:45:42.812656Z",
      "updateTime": "2020-11-05T17:45:42.812656Z"
    }
  }
}
請記下 ENDPOINT_ID

Python

在試用這個範例之前,請先按照Python使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Python API 參考說明文件

如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

更改下列內容:

  • VERTEX_AI_PROJECT_ID:您要建立線上推論端點的 Google Cloud 專案 ID
  • REGION:您使用 Vertex AI 的區域
  • VERTEX_AI_ENDPOINT_NAME:線上推論端點的顯示名稱
  • NETWORK_NAME:完整資源名稱,包括專案 ID,而非專案號碼。
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"

from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=REGION)

config =
aiplatform.compat.types.service_networking.PrivateServiceConnectConfig(
        enable_private_service_connect=True,
        project_allowlist="VERTEX_AI_PROJECT_ID"
        psc_automation_configs=[
            aiplatform.compat.types.service_networking.PSCAutomationConfig(
                project_id="VERTEX_AI_PROJECT_ID"
network=projects/"VERTEX_AI_PROJECT_ID"/global/networks/"NETWORK_NAME",
            )
        ]
    )
psc_endpoint = aiplatform.PrivateEndpoint.create(
     display_name="VERTEX_AI_ENDPOINT_NAME"
     private_service_connect_config=config,
)

部署模型

建立啟用 Private Service Connect 的線上推論端點後,請按照「將模型部署至端點」一文所述步驟,將模型部署至該端點。

手動建立 PSC 端點

取得服務連結 URI

部署模型時,系統會為線上推論端點建立服務連結。這項服務附件代表 Vertex AI 線上推論服務,會公開至您的 VPC 網路。執行 gcloud ai endpoints describe 指令,取得服務連結 URI。

  1. 僅列出端點詳細資料中的 serviceAttachment 值:

    gcloud ai endpoints describe ENDPOINT_ID \
    --project=VERTEX_AI_PROJECT_ID \
    --region=REGION \
    | grep -i serviceAttachment
    

    更改下列內容:

    • ENDPOINT_ID:線上推論端點的 ID
    • VERTEX_AI_PROJECT_ID:您建立線上推論端點的 Google Cloud 專案 ID
    • REGION:這項要求中的地區

    輸出結果會與下列內容相似:

    serviceAttachment: projects/ac74a9f84c2e5f2a1-tp/regions/us-central1/serviceAttachments/gkedpm-c6e6a854a634dc99472bb802f503c1
    
  2. 請記下 serviceAttachment 欄位中的整個字串。這是服務連結 URI。

建立轉送規則

您可以保留內部 IP 位址,並使用該位址建立轉送規則。如要建立轉送規則,您需要上一個步驟中的服務附件 URI。

  1. 如要為轉送規則保留內部 IP 位址,請使用 gcloud compute addresses create 指令

    gcloud compute addresses create ADDRESS_NAME \
    --project=VPC_PROJECT_ID \
    --region=REGION \
    --subnet=SUBNETWORK \
    --addresses=INTERNAL_IP_ADDRESS
    

    更改下列內容:

    • ADDRESS_NAME:內部 IP 位址的名稱
    • VPC_PROJECT_ID:代管 VPC 網路的 Google Cloud 專案 ID。如果線上推論端點和 Private Service Connect 轉送規則是代管在同一個專案中,請使用 VERTEX_AI_PROJECT_ID 做為這個參數。
    • REGION:要建立 Private Service Connect 轉送規則的區域 Google Cloud
    • SUBNETWORK:包含 IP 位址的 VPC 子網路名稱
    • INTERNAL_IP_ADDRESS:要保留的內部 IP 位址。此參數為選用參數。

      • 如果指定這個參數,IP 位址必須位於子網路的主要 IP 位址範圍內。IP 位址可以是 RFC 1918 位址,也可以是具有非 RFC 範圍的子網路。
      • 如果省略這個參數,系統會自動分配內部 IP 位址。
      • 詳情請參閱「預留新的靜態內部 IPv4 或 IPv6 位址」。
  2. 如要確認 IP 位址已保留,請使用 gcloud compute addresses list 指令

    gcloud compute addresses list --filter="name=(ADDRESS_NAME)" \
    --project=VPC_PROJECT_ID
    

    在回應中,確認 IP 位址是否顯示 RESERVED 狀態。

  3. 如要建立轉送規則並指向線上推論服務連結,請使用 gcloud compute forwarding-rules create 指令

    gcloud compute forwarding-rules create PSC_FORWARDING_RULE_NAME \
        --address=ADDRESS_NAME \
        --project=VPC_PROJECT_ID \
        --region=REGION \
        --network=VPC_NETWORK_NAME \
        --target-service-attachment=SERVICE_ATTACHMENT_URI
    

    更改下列內容:

    • PSC_FORWARDING_RULE_NAME:轉送規則的名稱
    • VPC_NETWORK_NAME:要建立端點的虛擬私有雲網路名稱
    • SERVICE_ATTACHMENT_URI:您稍早記下的服務附件
  4. 如要確認服務附件接受端點,請使用 gcloud compute forwarding-rules describe 指令

    gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \
    --project=VPC_PROJECT_ID \
    --region=REGION
    

    在回應中,確認 pscConnectionStatus 欄位顯示 ACCEPTED 狀態。

選用:取得內部 IP 位址

如果您在建立轉送規則時未指定 INTERNAL_IP_ADDRESS 的值,可以使用 gcloud compute forwarding-rules describe 指令,取得系統自動分配的位址:

gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \
--project=VERTEX_AI_PROJECT_ID \
--region=REGION \
| grep -i IPAddress

更改下列內容:

  • VERTEX_AI_PROJECT_ID:您的專案 ID
  • REGION:這項要求的區域名稱

選用:從 PSC 自動化結果取得 PSC 端點

您可以從推論端點取得產生的 IP 位址和轉送規則。範例如下:

"privateServiceConnectConfig": {
  "enablePrivateServiceConnect": true,
  "projectAllowlist": [
    "your-project-id",
  ],
  "pscAutomationConfigs": [
    {
      "projectId": "your-project-id",
      "network": "projects/your-project-id/global/networks/default",
      "ipAddress": "10.128.15.209",
      "forwardingRule": "https://www.googleapis.com/compute/v1/projects/your-project-id/regions/us-central1/forwardingRules/sca-auto-fr-47b0d6a4-eaff-444b-95e6-e4dc1d10101e",
      "state": "PSC_AUTOMATION_STATE_SUCCESSFUL"
    },
  ]
}

以下是錯誤處理的詳細資料。

  • 自動化失敗不會影響模型部署結果。
  • 狀態會指出作業是否成功。
    • 如果成功,系統會顯示 IP 位址和轉送規則。
    • 如果無法順利完成,系統會顯示錯誤訊息。
  • 如果沒有模型部署至端點,或模型正在部署至端點,系統就會移除自動化設定。如果稍後部署模型,IP 位址和轉送規則就會變更。
  • 失敗的自動化動作不會復原。如果失敗,您仍可手動建立 PSC 端點,請參閱「手動建立 PSC 端點」。

取得線上推論結果

透過 Private Service Connect 從端點取得線上推論結果,與從公開端點取得線上推論結果類似,但有以下注意事項:

  • 要求必須從建立線上推論端點時,在 projectAllowlist 中指定的專案傳送。
  • 如果未啟用全球存取權,則必須從相同區域傳送要求。
  • 系統會開啟兩個通訊埠:443 (使用 TLS 和自行簽署的憑證) 和 80 (不使用 TLS)。兩個通訊埠都支援 HTTP 和 GRPC。所有流量都會透過私人網路傳輸,不會經過公開網際網路。
  • 如要取得推論結果,必須使用端點的靜態 IP 位址建立連線,除非已為內部 IP 位址建立 DNS 記錄。舉例來說,請將 predict 要求傳送至下列端點:

    https://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
    

    INTERNAL_IP_ADDRESS 替換為您先前預留的內部 IP 位址。

  • 對於 gRPC 要求: 為確保 gRPC 要求能正確識別端點,請務必加入 x-vertex-ai-endpoint-id 標頭。這是必要步驟,因為 gRPC 通訊的要求路徑中不會傳達端點資訊。

  • 安全連線 (通訊埠 443): 使用通訊埠 443 建立安全連線時,伺服器會使用自簽憑證。如要繼續連線,建議採取下列其中一種做法:

    • 方法 1:略過憑證驗證:設定用戶端以忽略憑證驗證,並使用伺服器的 IP 位址或偏好的 DNS 解析方法建立連線。
    • 方法 2:整合信任存放區:取得伺服器的自行簽署憑證,將其新增至用戶端系統的本機信任存放區,然後使用 *.prediction.p.vertexai.goog 格式的 DNS 名稱建立連線。這個方法會透過憑證驗證確保通訊安全。

以下各節提供如何使用 Python 傳送 predict 要求的範例。

第一個範例

psc_endpoint = aiplatform.PrivateEndpoint("projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID")
REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json

import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

with open(REQUEST_FILE) as json_file:
    data = json.load(json_file)
    response = psc_endpoint.predict(
        instances=data["instances"], endpoint_override=INTERNAL_IP_ADDRESS
    )
print(response)

PATH_TO_INPUT_FILE 改為包含要求輸入內容的 JSON 檔案路徑。

第二個範例

import json
import requests
import urllib3
import google.auth.transport.requests

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

REQUEST_FILE = "PATH_TO_INPUT_FILE"

# Programmatically get credentials and generate an access token
creds, project = google.auth.default()
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
access_token = creds.token
# Note: the credential lives for 1 hour by default
# After expiration, it must be refreshed
# See https://cloud.google.com/docs/authentication/token-types#at-lifetime

with open(REQUEST_FILE) as json_file:
    data = json.load(json_file)
    url = "https://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict"
    headers = {
      "Content-Type": "application/json",
      "Authorization": f"Bearer {access_token}"  # Add access token to headers
    }
    payload = {
      "instances": data["instances"],
    }

response = requests.post(url, headers=headers, json=payload, verify=False)

print(response.json())

選用:為內部 IP 位址建立 DNS 記錄

建議您建立 DNS 記錄,這樣就能從端點取得線上推論結果,不必指定內部 IP 位址。

詳情請參閱「其他 DNS 設定方式」。

  1. 使用 gcloud dns managed-zones create 指令建立私人 DNS 區域。這個區域與建立轉送規則的虛擬私有雲網路相關聯。

    DNS_NAME_SUFFIX="prediction.p.vertexai.goog."  # DNS names have "." at the end.
    gcloud dns managed-zones create ZONE_NAME \
    --project=VPC_PROJECT_ID \
    --dns-name=$DNS_NAME_SUFFIX \
    --networks=VPC_NETWORK_NAME \
    --visibility=private \
    --description="A DNS zone for Vertex AI endpoints using Private Service Connect."
    
    

    更改下列內容:

    • ZONE_NAME:DNS 區域的名稱
  2. 如要在區域中建立 DNS 記錄,請使用 gcloud dns record-sets create 指令

    DNS_NAME=ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.$DNS_NAME_SUFFIX
    gcloud dns record-sets create $DNS_NAME \
    --rrdatas=INTERNAL_IP_ADDRESS \
    --zone=ZONE_NAME \
    --type=A \
    --ttl=60 \
    --project=VPC_PROJECT_ID
    

    更改下列內容:

    • VERTEX_AI_PROJECT_NUMBER:您的 VERTEX_AI_PROJECT_ID 專案專案編號。您可以在 Google Cloud 控制台中找到這個專案編號。詳情請參閱「識別專案」。
    • INTERNAL_IP_ADDRESS:線上推論端點的內部 IP 位址

    現在你可以將 predict 要求傳送至:

    https://ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.prediction.p.vertexai.goog/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
    

以下範例說明如何使用 Python 將 predict 要求傳送至 DNS 區域:

REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json

import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

with open(REQUEST_FILE) as json_file:
    data = json.load(json_file)
    response = psc_endpoint.predict(
        instances=data["instances"], endpoint_override=DNS_NAME
    )
print(response)

DNS_NAME 替換為您在 gcloud dns record-sets create 指令中指定的 DNS 名稱。

限制

使用 Private Service Connect 的 Vertex AI 端點有下列限制:

  • 不支援部署微調後的 Gemini 模型。
  • 系統不支援從端點內進行私人輸出。由於 Private Service Connect 轉送規則是單向的,因此容器內無法存取其他私有工作負載。Google Cloud
  • 端點的 projectAllowlist 值無法變更。
  • 不支援 Vertex Explainable AI。
  • 刪除端點前,請務必先從該端點取消部署模型。
  • 如果所有模型都未部署,服務附件可能會在 10 分鐘後遭到刪除。檢查 Private Service Connect 連線狀態;如果狀態為 CLOSED,請重新建立轉送規則。
  • 刪除端點後,最多 7 天內無法重複使用該端點名稱。
  • 專案的 Private Service Connect 設定最多可有 10 個不同的 projectAllowlist 值。

後續步驟