You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP中Gemini批量预测出现内部错误排查求助

Gemini批量预测任务崩溃(INTERNAL错误)排查

背景信息

已验证以下JSON请求结构可正常调用Gemini API:

{
   "contents":[
      {
         "role":"user",
         "parts":[
            {
               "text":"do xyz"
            },
            {
               "inline_data":{
                  "mime_type":"audio/wav",
                  "data":"<encoded data>"
               }
            }
         ]
      }
   ],
   "system_instruction":{
      "parts":[
         {
            "text":"long instruction"
         }
      ]
   },
   "generation_config":{
      "max_output_tokens":8192,
      "temperature":0.9,
      "top_p":0.95
   }
}

将约3万条该结构的请求存入BigQuery的JSON类型Request列,通过以下Python API提交批量预测任务:

import requests

url = "https://europe-west6-aiplatform.googleapis.com/v1/projects/myprivateproject/locations/europe-west6/batchPredictionJobs"
payload = {
    "name": "new-run",
    "displayName": "NewRun",
    "model": "publishers/google/models/gemini-1.5-pro-001",
    "inputConfig": {
        "instancesFormat": "bigquery",
        "bigquerySource": {
            "inputUri": "bq://myprivateproject.datasetname.GeminiBatchTable"
        }
    },
    "outputConfig": {
        "predictionsFormat": "bigquery",
        "bigqueryDestination": {
            "outputUri": "bq://myprivateproject.datasetname.GeminiBatchTable"
        }
    }
}

# Get the access token
access_token = get_access_token()

headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json; charset=utf-8"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
if response.status_code == 200:
    print("Request successful!")
    print("Response:", response.json())
else:
    print("Failed to send request:", response.status_code)
    print("Response:", response.text)

问题描述

任务进入Pending状态后崩溃,仅显示Error (INTERNAL),无详细日志信息。怀疑可能的原因:

  1. 模型未全面GA导致权限问题
  2. 需提前创建目标表结构
  3. 目标表路径设置错误

排查建议

1. 权限与模型可用性检查

  • 确认gemini-1.5-pro-001模型在europe-west6区域是否已开放GA访问,部分模型在特定区域可能处于预览阶段,需申请权限或切换至已GA的区域。
  • 检查提交任务的账号是否拥有aiplatform.batchPredictionJobs.create权限,以及BigQuery的dataEditor或更高权限(用于读写表数据)。
  • 用单次API调用验证账号的Gemini模型调用权限,排除批量任务特有的权限问题。

2. 目标表配置检查

  • 路径冲突问题:当前输入表与输出表为同一表GeminiBatchTable,批量预测默认会在目标路径下生成新表(如GeminiBatchTable_prediction_xxxx),指定已存在的表可能引发冲突。建议修改输出URI为数据集路径(如bq://myprivateproject.datasetname)让系统自动生成结果表,或指定不存在的表名(如bq://myprivateproject.datasetname.GeminiBatchResults)。
  • 表结构要求:无需提前创建目标表结构,系统会自动根据预测结果生成表;若强制指定已存在的表,需确保表结构与预测输出兼容,否则可能触发内部错误。

3. 输入数据验证

  • 抽样检查BigQuery中Request列的内容,确认所有音频数据编码完整、符合audio/wav格式要求,排除单条异常数据导致的批量任务崩溃。
  • 先提交小批量任务(如10条)验证运行状态,排除数据量过大引发的内部错误。

4. 日志深度排查

  • 前往Vertex AI控制台的批量预测任务详情页,查看日志标签页(关联Cloud Logging),过滤batchPredictionJobs相关日志,获取更详细的错误信息。
  • 检查Cloud Logging中是否存在BigQuery读写相关的报错,比如权限不足、数据格式不兼容等。

内容的提问来源于stack exchange,提问作者Giancarlo Metitieri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:32:46