バッチ予測を使用すると、レイテンシの影響を受けにくい複数のプロンプトを Anthropic Claude モデルに送信できます。リクエストごとに 1 つの入力プロンプトを送信するオンライン予測とは異なり、バッチ予測では 1 つのリクエストで大量の入力プロンプトをバッチ処理できます。
サポートされている Anthropic Claude モデル
Vertex AI は、次の Anthropic Claude モデルのバッチ予測をサポートしています。
- Claude Opus 4.1
- Claude Opus 4
- Claude Sonnet 4
- Claude 3.7 Sonnet
- Claude 3.5 Sonnet v2
- Claude 3.5 Haiku
割り当て
デフォルトでは、1 つのプロジェクトで実行できる同時バッチ リクエストの数は 4 です。
入力を準備する
始める前に、BigQuery テーブルまたは Cloud Storage の JSONL ファイルとして入力データセットを準備します。両方のソースの入力は、次の例に示すように、Anthropic Claude API スキーマの JSON 形式に従っている必要があります。
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2023-10-16",
"max_tokens": 50
}
}
BigQuery
BigQuery 入力テーブルは、次のスキーマに準拠している必要があります。
列名 | 説明 |
---|---|
custom_id | 入力と出力を照合するための各リクエストの ID。 |
リクエスト | リクエスト本文。入力プロンプトであり、Anthropic Claude API スキーマに準拠している必要があります。 |
- 入力テーブルには他の列を含めることができます。これらの列はバッチジョブで無視されます。
- バッチ予測ジョブは、バッチ予測出力用に
response(JSON)
とstatus
の 2 つの列名を予約します。入力テーブルではこれらの列を使用しないでください。
Cloud Storage
Cloud Storage の場合、入力ファイルは Cloud Storage バケットにある JSONL ファイルである必要があります。
バッチ予測をリクエストする
BigQuery または Cloud Storage からの入力を使用して、Claude モデルに対してバッチ予測を行います。予測の出力先として、BigQuery テーブルまたは Cloud Storage バケット内の JSONL ファイルのいずれかを選択できます。
BigQuery
BigQuery 入力テーブル、モデル、出力先を指定します。 バッチ予測ジョブとテーブルは同じリージョンに存在する必要があります。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、 Python API リファレンス ドキュメントをご覧ください。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 選択した Anthropic Claude モデルをサポートするリージョン(Claude リージョンをご覧ください)。
- PROJECT_ID: 実際のプロジェクト ID。
- MODEL: モデルの名前。
- INPUT_URI: バッチ予測入力が配置されている BigQuery テーブル(
bq://myproject.mydataset.input_table
など)。 - 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 の場合は、テーブルの場所(
bq://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/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat":"OUTPUT_FORMAT", "DESTINATION":{ "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }'
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を 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"
PowerShell
リクエスト本文を 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 レスポンスが返されます。
Cloud Storage
JSONL ファイルの Cloud Storage のロケーション、モデル、出力場所を指定します。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、 Python API リファレンス ドキュメントをご覧ください。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 選択した Anthropic Claude モデルをサポートするリージョン(Claude リージョンをご覧ください)。
- PROJECT_ID: 。
- MODEL: モデルの名前。
- INPUT_URIS: 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 の場合は、テーブルの場所(
bq://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/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"jsonl", "gcsSource":{ "uris" : "INPUT_URIS" } }, "outputConfig": { "predictionsFormat":"OUTPUT_FORMAT", "DESTINATION":{ "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }'
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を 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"
PowerShell
リクエスト本文を 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 レスポンスが返されます。
バッチ予測ジョブのステータスを取得する
バッチ予測ジョブのステータスを取得して、正常に完了したかどうかを確認します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 。
- LOCATION: バッチジョブが配置されているリージョン。
- JOB_ID: ジョブの作成時に返されたバッチジョブ ID。
HTTP メソッドと URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
バッチ予測の出力を取得する
バッチ予測ジョブが完了したら、指定したロケーションから出力を取得します。BigQuery の場合、出力は宛先 BigQuery テーブルの response(JSON)
列にあります。Cloud Storage の場合、出力は出力 Cloud Storage のロケーションに JSONL ファイルとして保存されます。
バッチ予測の結果全体には、すべての行が完了した後、または 24 時間後にアクセスできます。