": { "message": "* GenerateContentRequest.system_instruction.parts[0].data: requ...

2025年10月02日 18:20 响应: 2.09秒 状态: success

🚨 错误信息

{ "error": { "message": "* GenerateContentRequest.system_instruction.parts[0].data: required oneof field 'data' must have one initialized field\n (request id: 20250912082247080288214XlY12mQ)", "type": "rix_api_error", "param": "", "code": 400 } }

🤖 AI解决方案

{
  "error": {
    "message": "* GenerateContentRequest.system_instruction.parts[0].data: required oneof field 'data' must have one initialized field\n (request id: 20250912082247080288214XlY12mQ)",
    "type": "rix_api_error",
    "param": "",
    "code": 400
  }
}

错误翻译

GenerateContentRequest.system_instruction.parts[0].data: required oneof field 'data' must have one initialized field
(请求 ID: 20250912082247080288214XlY12mQ)

原因分析

system_instruction 中的 parts[0].data 字段必须初始化,即必须包含一个有效的子字段(如 textinline_data),而当前请求中该字段为空。

解决方案

确保 system_instructionparts 数组的第一个元素(索引为 0)的 data 字段被正确填充。例如,如果 intent 是提供文本指令,应包含 text 字段:

{
  "contents": [
    {
      "parts": [
        {
          "text": "这是一条系统指令。"
        }
      ]
    }
  ],
  "system_instruction": {
    "parts": [
      {
        "text": "你是一名AI助手。"
      }
    ]
  }
}

预防措施

  • 在发送 API 请求前,对 system_instruction.parts 数组中的每个元素进行校验,确保其 data 字段包含一个有效值。
  • 使用 API SDK 时,仔细阅读文档中关于 GenerateContentRequestsystem_instruction 的字段要求,特别是 oneof 字段的初始化规则。