バッチ予測を使用すると、1 つのバッチ リクエストで大量のマルチモーダル プロンプトを送信できます。
バッチ ワークフローと入力データの形式設定の詳細については、Gemini のバッチ予測を取得するをご覧ください。
サポートされているモデル:
モデル | バージョン |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-002 gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-002 gemini-1.5-pro-001 |
Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
構文の例
バッチ予測 API リクエストを送信する構文。この例は BigQuery ストレージに固有のものです。
curl -X POST
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json" \https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/batchPredictionJobs
-d '{ "displayName": "...", "model": "publishers/google/models/${MODEL_ID}", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "..." } }, "outputConfig": { "predictionsFormat":"bigquery", "bigqueryDestination":{ "outputUri": "..." } } }'
パラメータ
実装の詳細については、例をご覧ください。
本文リクエスト
パラメータ | |
---|---|
|
ジョブに付ける名前。 |
|
バッチ予測に使用するモデル。 |
|
データ形式。Gemini バッチ予測では、BigQuery 入力がサポートされています。 |
|
モデルの出力場所を決定する出力構成。 |
inputConfig
パラメータ | |
---|---|
|
プロンプトの入力形式。 |
|
入力ソース URI。これは、 |
outputConfig
パラメータ | |
---|---|
|
予測の出力形式。入力形式と一致する必要があります。 |
|
ターゲット出力テーブルの BigQuery URI( |
例
バッチ レスポンスをリクエストする
マルチモーダル モデルのバッチ リクエストは、Cloud Storage ストレージ ソースと BigQuery ストレージ ソースを受け入れます。詳細については、以下をご覧ください。
送信した入力アイテム数によっては、バッチ生成タスクが完了するまでに時間がかかることがあります。
Vertex AI API を使用してマルチモーダル プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
LOCATION : Gemini モデルをサポートするリージョン。PROJECT_ID : 実際のプロジェクト ID。MODEL : 予測を行うモデルの名前。INPUT_URI : JSONL バッチ予測入力の Cloud Storage のロケーション(gs://bucketname/path/to/jsonl
など)。OUTPUT_FORMAT : BigQuery テーブルに出力するには、bigquery
を指定します。Cloud Storage バケットに出力するには、jsonl
を指定します。DESTINATION : BigQuery の場合は、bigqueryDestination
を指定します。Cloud Storage の場合は、gcsDestination
を指定します。OUTPUT_URI_FIELD_NAME : BigQuery の場合は、outputUri
を指定します。Cloud Storage の場合は、outputUriPrefix
を指定します。OUTPUT_URI : BigQuery の場合は、テーブルのロケーション(myproject.mydataset.output_result
など)を指定します。Cloud Storage の場合は、バケットとフォルダのロケーション(gs://mybucket/path/to/outputfile
など)を指定します。
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /batchPredictionJobs
リクエストの本文(JSON):
'{ "displayName": "JOB_NAME ", "model": "publishers/google/models/gemini-1.5-flash-002 ", "inputConfig": { "instancesFormat":"jsonl", "gcsDestination":{ "uris" : "INPUT_URI " } }, "outputConfig": { "predictionsFormat":"OUTPUT_FORMAT ", "DESTINATION ":{ "OUTPUT_URI_FIELD_NAME ": "OUTPUT_URI " } } }'
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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 /batchPredictionJobs"
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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 /batchPredictionJobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /locations/LOCATION /batchPredictionJobs/BATCH_JOB_ID ", "displayName": "JOB_NAME ", "model": "publishers/google/models/gemini-1.5-flash-002 ", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris": [ "INPUT_URI " ] } }, "outputConfig": { "predictionsFormat":"OUTPUT_FORMAT ", "DESTINATION ":{ "OUTPUT_URI_FIELD_NAME ": "OUTPUT_URI " } }, "state": "JOB_STATE_PENDING", "createTime": "2024-10-16T19:33:59.153782Z", "updateTime": "2024-10-16T19:33:59.153782Z", "labels": { "purpose": "testing" }, "modelVersionId": "1" }
レスポンスには、バッチジョブの固有識別子が含まれます。ジョブ state
が JOB_STATE_SUCCEEDED
になるまで、BATCH_JOB_ID を使用してバッチジョブのステータスをポーリングできます。例:
curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/batchPredictionJobs/BATCH_JOB_ID
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
バッチ出力を取得する
バッチ予測タスクが完了すると、リクエストで指定した BigQuery テーブルに出力が保存されます。
次のステップ
- Gemini モデルのチューニング方法を確認する。Gemini のモデル チューニングの概要をご覧ください。
- Gemini のバッチ予測を取得する方法を確認する。