通过批量预测,您可以在单个批量请求中发送大量多模态提示。
如需详细了解批处理工作流以及如何设置输入数据的格式,请参阅获取 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 |
示例语法
以下语法展示了如何使用 curl
命令发送批量预测 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 批量预测,支持 Cloud Storage 和 BigQuery 输入源。 |
|
用于确定模型输出位置的输出配置。 支持 Cloud Storage 和 BigQuery 输出位置。 |
inputConfig
参数 | |
---|---|
|
提示输入格式。对于 Cloud Storage,请使用 |
|
输入来源的 URI。这是 JSONL 文件的 Cloud Storage 位置,采用 |
|
输入来源的 URI。这是 BigQuery 表 URI,格式为 |
outputConfig
参数 | |
---|---|
|
预测结果的输出格式。使用 |
|
Cloud Storage 存储桶和目录位置,格式为 |
|
目标输出表的 BigQuery URI,格式为 |
示例
请求批量响应
多模态模型的批量请求接受 Cloud Storage 存储空间和 BigQuery 存储来源。如需了解详情,请参阅以下内容:
批量生成任务可能需要一些时间才能完成,具体取决于提交的输入数据项的数量。
REST
如需创建批量预测作业,请使用 projects.locations.batchPredictionJobs.create
方法。
Cloud Storage 输入
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:支持 Gemini 模型的区域。
- PROJECT_ID:您的项目 ID。
- INPUT_URI:JSONL 批量预测输入(例如
gs://bucketname/path/to/file.jsonl
)的 Cloud Storage 位置。 - 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
。输出 BigQuery 数据集的区域必须与 Vertex AI 批量预测作业的区域相同。 对于 Cloud Storage,请指定存储桶和目录位置,例如gs://mybucket/path/to/output
。
请求 JSON 正文:
{ "displayName": "my-cloud-storage-batch-prediction-job", "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" } } }
如需发送请求,请选择以下方式之一:
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 响应。
BigQuery 输入
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:支持 Gemini 模型的区域。
- PROJECT_ID:您的项目 ID。
- 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
。输出 BigQuery 数据集的区域必须与 Vertex AI 批量预测作业的区域相同。 对于 Cloud Storage,请指定存储桶和目录位置,例如gs://mybucket/path/to/output
。
请求 JSON 正文:
{ "displayName": "my-bigquery-batch-prediction-job", "model": "publishers/google/models/gemini-1.5-flash-002", "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 响应。
响应包含批量作业的唯一标识符。您可以使用 BATCH_JOB_ID 轮询批量作业的状态,直到作业 state
为 JOB_STATE_SUCCEEDED
。 例如:
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
Python
如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。 如需了解详情,请参阅 Python API 参考文档。
Cloud Storage 输入
BigQuery 输入
Node.js
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Cloud Storage 输入
BigQuery 输入
Java
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Java 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Java API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Cloud Storage 输入
BigQuery 输入
Go
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Go 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Go API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Cloud Storage 输入
BigQuery 输入
检索批量输出
批量预测任务完成后,输出存储在您在请求中指定的 Cloud Storage 存储桶或 BigQuery 表中。
后续步骤
- 如需了解如何对 Gemini 模型进行调优,请参阅 Gemini 模型调优概览。
- 详细了解如何获取 Gemini 的批量预测结果。