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 コンソール
-
コンソールの [Agent Platform] セクションで、
[オンライン予測] ページに移動します。 Google Cloud
[オンライン予測] ページに移動 - [ 作成] をクリックします。
- [新しいエンドポイント] ペインで、次の操作を行います。
- [エンドポイント名] を入力します。
- アクセスタイプの [標準] を選択します。
- [専用 DNS を有効にする] チェックボックスをオンにします。
- [続行] をクリックします。
- [完了] をクリックします。
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 コンソール
-
コンソールの [Agent Platform] セクションで、
[オンライン予測] ページに移動します。 Google Cloud
[オンライン予測] ページに移動 - [ 作成] をクリックします。
- [新しいエンドポイント] ペインで、次の操作を行います。
- [エンドポイント名] を入力します。
- アクセスタイプの [標準] を選択します。
- [続行] をクリックします。
- [完了] をクリックします。
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 が含まれるまで、オペレーションのステータスをポーリングできます。
Terraform
次のサンプルでは、google_vertex_ai_endpoint Terraform リソースを使用してエンドポイントを作成します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Java
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのJava設定手順に沿ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのNode.js の手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
次のステップ
- gcloud CLI または Gemini Enterprise API を使用してモデルをデプロイする。
- オンライン推論の取得方法を確認する。