パブリック エンドポイントを作成する

gcloud CLI または Gemini Enterprise API を使用してモデルをデプロイするには、まず パブリック エンドポイント を作成する必要があります。

既存のパブリック エンドポイントがある場合は、この手順をスキップして、 gcloud CLI または Gemini Enterprise API を使用してモデルをデプロイするに進んでください。

このドキュメントでは、新しいパブリック エンドポイントを作成するプロセスについて説明します。

専用パブリック エンドポイントのデフォルトのリクエスト タイムアウトは 10 分です。 Gemini Enterprise API と Agent Platform SDK for Python では、次の例に示すように、新しい inferenceTimeout 値を含む clientConnectionConfig オブジェクトを追加して、別のリクエスト タイムアウトを 指定できます。タイムアウトの最大値は 3,600 秒(1 時間)です。

Google Cloud コンソール

  1. コンソールの [Agent Platform] セクションで、 [オンライン予測] ページに移動します。 Google Cloud
    [オンライン予測] ページに移動
  2. [ 作成] をクリックします。
  3. [新しいエンドポイント] ペインで、次の操作を行います。
    1. [エンドポイント名] を入力します。
    2. アクセスタイプの [標準] を選択します。
    3. [専用 DNS を有効にする] チェックボックスをオンにします。
    4. [続行] をクリックします。
  4. [完了] をクリックします。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: 使用するリージョン。
  • PROJECT_ID: [プロジェクト ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
  • ENDPOINT_NAME: エンドポイントの表示名。
  • INFERENCE_TIMEOUT_SECS: (省略可)省略可能な inferenceTimeout フィールドの秒数。

HTTP メソッドと URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints

リクエストの本文(JSON):

{
  "display_name": "ENDPOINT_NAME",
  "dedicatedEndpointEnabled": true,
  "clientConnectionConfig": {
    "inferenceTimeout": {
      "seconds": INFERENCE_TIMEOUT_SECS
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/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"
    }
  }
}
レスポンスに "done": true が表示されるまで、オペレーションのステータスをポーリングできます。

Python

このサンプルを試す前に、クライアント ライブラリを使用したPython Agent Platform クイックスタートの手順に沿って設定を行ってください

Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION_ID: Agent Platform を使用しているリージョン。
  • ENDPOINT_NAME: エンドポイントの表示名。
  • INFERENCE_TIMEOUT_SECS: (省略可)省略可能な inference_timeout 値の秒数。
from google.cloud import aiplatform

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION_ID"
ENDPOINT_NAME = "ENDPOINT_NAME"
INFERENCE_TIMEOUT_SECS = "INFERENCE_TIMEOUT_SECS"

aiplatform.init(
    project=PROJECT_ID,
    location=LOCATION,
    api_endpoint=ENDPOINT_NAME,
)

dedicated_endpoint = aiplatform.Endpoint.create(
    display_name=DISPLAY_NAME,
    dedicated_endpoint_enabled=True,
    sync=True,
    inference_timeout=INFERENCE_TIMEOUT_SECS,
)

推論のタイムアウト構成

推論リクエストのデフォルトのタイムアウト時間は 600 秒(10 分)です。このタイムアウトは、エンドポイントの作成時に明示的な推論タイムアウトが指定されていない場合に適用されます。最大許容タイムアウト値は 1 時間です。

エンドポイントの作成時に推論タイムアウトを構成するには、次のコード スニペットに示すように、inference_timeout パラメータを使用します。

timeout_endpoint = aiplatform.Endpoint.create(
    display_name="dedicated-endpoint-with-timeout",
    dedicated_endpoint_enabled=True,
    inference_timeout=1800,  # Unit: Seconds
)

エンドポイントの作成後に推論タイムアウト設定を変更するには、EndpointService.UpdateEndpointLongRunning メソッドを使用します。EndpointService.UpdateEndpoint メソッドはこの変更をサポートしていません。

リクエスト / レスポンス ロギング

リクエスト / レスポンス ロギング機能は、API インタラクションをキャプチャします。ただし、BigQuery の制限に準拠するため、サイズが 10 MB を超えるペイロードはログから除外されます。

エンドポイントの作成時にリクエスト / レスポンス ロギングを有効にして構成するには、次のコード スニペットに示すように、次のパラメータを使用します。

logging_endpoint = aiplatform.Endpoint.create(
    display_name="dedicated-endpoint-with-logging",
    dedicated_endpoint_enabled=True,
    enable_request_response_logging=True,
    request_response_logging_sampling_rate=1.0,  # Default: 0.0
    request_response_logging_bq_destination_table="bq://test_logging",
    # If not set, a new BigQuery table will be created with the name:
    # bq://{project_id}.logging_{endpoint_display_name}_{endpoint_id}.request_response_logging
)

エンドポイントの作成後にリクエスト / レスポンス ロギング設定を変更するには、EndpointService.UpdateEndpointLongRunning メソッドを使用します。EndpointService.UpdateEndpoint メソッドはこの変更をサポートしていません。

共有パブリック エンドポイントを作成する

Google Cloud コンソール

  1. コンソールの [Agent Platform] セクションで、 [オンライン予測] ページに移動します。 Google Cloud
    [オンライン予測] ページに移動
  2. [ 作成] をクリックします。
  3. [新しいエンドポイント] ペインで、次の操作を行います。
    1. [エンドポイント名] を入力します。
    2. アクセスタイプの [標準] を選択します。
    3. [続行] をクリックします。
  4. [完了] をクリックします。

gcloud

次の例では、gcloud ai endpoints create コマンドを使用します。

gcloud ai endpoints create \
    --region=LOCATION_ID \
    --display-name=ENDPOINT_NAME

次のように置き換えます。

  • LOCATION_ID: Agent Platform を使用しているリージョン。
  • ENDPOINT_NAME: エンドポイントの表示名。

Google Cloud CLI ツールがエンドポイントを作成するまでに数秒かかる場合があります。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: 使用するリージョン。
  • PROJECT_ID: [プロジェクト ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
  • ENDPOINT_NAME: エンドポイントの表示名。

HTTP メソッドと URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints

リクエストの本文(JSON):

{
  "display_name": "ENDPOINT_NAME"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/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"
    }
  }
}
レスポンスに "done": true が含まれるまで、オペレーションのステータスをポーリングできます。