通过批量预测,您可以向 Anthropic Claude 模型发送对延迟不敏感的多个提示。与在线预测(每次请求发送一个输入提示)相比,您可以在单个请求中批量发送大量输入提示。
受支持的 Anthropic Claude 模型
Vertex AI 对以下 Anthropic Claude 模型支持批量预测:
配额
默认情况下,您可以在单个项目中并发发出 4 个批量请求。
准备输入
在开始之前,请在 BigQuery 表中或以 Cloud Storage 中的 JSONL 文件形式准备输入数据集。这两种来源的输入都必须遵循 Anthropic Claude API 架构 JSON 格式,如以下示例所示:
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2025-08-04",
"max_tokens": 50
}
}
BigQuery
BigQuery 输入表必须遵循以下架构:
列名 | 说明 |
---|---|
custom_id | 每个请求的 ID,用于将输入与输出进行匹配。 |
请求 | 请求正文,即输入提示,必须遵循 Anthropic Claude API 架构 |
- 输入表可以有其他列,这些列会被批量作业忽略。
- 批量预测作业为批量预测输出预留了两个列名:
response(JSON)
和status
。请勿在输入表中使用这些列。
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 方法和网址:
POST http://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 \
"http://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 "http://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 方法和网址:
POST http://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 \
"http://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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
获取批量预测作业的状态
获取批量预测作业的状态,以检查其是否已成功完成。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:。
- LOCATION:批量作业所在的区域。
- JOB_ID:您创建作业时返回的批量作业 ID。
HTTP 方法和网址:
GET http://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)" \
"http://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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
检索批量预测输出
批量预测作业完成后,可从您指定的位置检索输出。对于 BigQuery,输出位于目标 BigQuery 表的 response(JSON)
列中。对于 Cloud Storage,输出会以 JSONL 文件的形式保存在输出 Cloud Storage 位置中。
所有行完成后或 24 小时后(以先到者为准),您就可以访问完整的批量预测结果。