400 Invalid schema for function 'Workflow': None is not of type 'array'.

2026年06月27日 17:47 25.37 秒 success

错误信息

API Error: 400 Invalid schema for function 'Workflow': None is not of type 'array'.

AI 解决方案

🔍 分析结果


1. 🌐 错误翻译


原文:API Error: 400 Invalid schema for function 'Workflow': None is not of type 'array'.
译文:API 错误:400 错误的函数 ‘Workflow’ 的 Schema(结构定义):‘None’ 不是 ‘array’(数组)类型。

2. 🎯 原因分析


这个错误的根本原因是 API 请求体的格式不符合预定义的 JSON Schema 校验规则
  • 具体来说,在您发送的请求中,某个函数(此处是 Workflow)的某个属性被期望接收一个 数组 (array) 类型的数据。

  • 但实际传递的值是 None(空值或未提供),因此导致了 “None is not of type ‘array’” 的类型校验失败。

  • 此错误通常发生在调用 函数调用 (Function Calling)结构化输出 (Structured Output) 功能时,传入的参数结构与模型或API规范定义的结构不匹配。
  • 3. 💡 解决方案


    您需要检查并修正调用 Workflow 函数时传入的 JSON 数据。确保所有定义为数组的属性都得到了正确的赋值,即使为空也应使用 [] 而非 null 或不传。

    错误示例 (可能引发此错误):

    {
      "function": "Workflow",
      "parameters": {
        "steps": null,  // 或者省略了 "steps" 字段
        "other_field": "value"
      }
    }
    

    修复后示例 (确保所有数组字段正确):

    {
      "function": "Workflow",
      "parameters": {
        "steps": [],  // 即使为空,也应使用空数组 []
        "other_field": "value"
      }
    }
    

    核心修复点: 仔细核对 Workflow 函数所需的参数定义文档,确保您传递的 JSON 对象完全符合其 Schema,特别是所有标记为 type: array 的字段。

    4. 🛡️ 预防措施


  • 严格遵循 API 文档:在调用任何需要结构化输入的 API 前,务必查阅其提供的 JSON Schema 或参数规格,精确匹配每个字段的类型和是否必需 (required)。

  • 开发时使用验证工具:在代码中,可以在发送请求前使用 JSON Schema 验证库(如 Python 的 jsonschema, JavaScript 的 ajv)对构造的请求体进行校验,提前捕获此类错误。

  • 采用防御性编程:对于数组参数,在构造时初始化为空数组 [],而不是 null,可以有效避免此问题。