获取 Gemini 的批量预测结果

通过批量预测,您可以在单个批量请求中发送大量多模态提示。

如需详细了解批处理工作流以及如何设置输入数据的格式,请参阅获取 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 请求的语法。

curl

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": "..."
        }
    }
}'

参数

如需了解实现详情,请参阅示例

正文请求

参数

displayName

您为作业选择的名称。

model

用于批量预测的模型。

inputConfig

数据格式。对于 Gemini 批量预测,支持 BigQuery 输入。

outputConfig

用于确定模型输出位置的输出配置。

inputConfig

参数

instancesFormat

提示输入格式。使用 bigquery

bigquerySource.inputUri

输入来源的 URI。这是 BigQuery 表 URI,格式为 bq://PROJECT_ID.DATASET.TABLE

outputConfig

参数

predictionsFormat

预测结果的输出格式。必须与输入格式相符。 使用 bigquery

bigqueryDestination.outputUri

目标输出表的 BigQuery URI,格式为 bq://PROJECT_ID.DATASET.TABLE。如果该表尚不存在,则系统会为您创建。

示例

请求批量响应

多模态模型的批量请求仅接受 BigQuery 存储来源。如需了解详情,请参阅以下内容:

批量生成任务可能需要一些时间才能完成,具体取决于提交的输入数据项的数量。

REST

如需使用 Vertex AI API 测试多模态提示,请向发布方模型端点发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目的名称。
  • BP_JOB_NAME:您为作业选择的名称。
  • INPUT_URI:输入源 URI。这是 BigQuery 表 URI,格式为 bq://PROJECT_ID.DATASET.TABLE。 或者您的 Cloud Storage 存储桶 URI。
  • INPUT_SOURCE:输入源类型。选项为 bigquerySourcegcsSource
  • INSTANCES_FORMAT:输入实例格式 - 可以是“jsonl”或“bigquery”。
  • OUTPUT_URI:输出或目标输出表的 URI,格式为 bq://PROJECT_ID.DATASET.TABLE。如果该表尚不存在,则系统会为您创建。

HTTP 方法和网址:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs

请求 JSON 正文:

{
    "displayName": "BP_JOB_NAME",
    "model": "publishers/google/models/gemini-1.0-pro-002",
    "inputConfig": {
      "instancesFormat":"INSTANCES_FORMAT",
      "inputSource":{ INPUT_SOURCE
        "inputUri" : "INPUT_URI"
      }
    },
    "outputConfig": {
      "predictionsFormat":"bigquery",
      "bigqueryDestination":{
        "outputUri": "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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/{PROJECT_ID}/locations/us-central1/batchPredictionJobs/{BATCH_JOB_ID}",
  "displayName": "My first batch prediction",
  "model": "projects/{PROJECT_ID}/locations/us-central1/models/gemini-1.0-pro-002",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_input"
    }
  },
  "modelParameters": {},
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
      "outputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_output"
    }
  },
  "state": "JOB_STATE_PENDING",
  "createTime": "2023-07-12T20:46:52.148717Z",
  "updateTime": "2023-07-12T20:46:52.148717Z",
  "modelVersionId": "1"
}

响应包含批量作业的唯一标识符。您可以使用 BATCH_JOB_ID 轮询批量作业的状态,直到作业 stateJOB_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

检索批量输出

批量预测任务完成后,输出存储在您在请求中指定的 BigQuery 表中。

后续步骤