{"args":{"description":"[models] Error: API request failed with status code 500:...

2026年01月07日 12:26 状态: processing

🚨 错误信息

req_id: 8a50225832 PluginInvokeError: {"args":{"description":"[models] Error: API request failed with status code 500: {\"error\":{\"message\":\"contents is required (request id: 202601071225558829992254DBXbRUa)\",\"type\":\"rix_api_error\",\"param\":\"\",\"code\":\"invalid_request\"}}"},"error_type":"InvokeError","message":"[models] Error: API request failed with status code 500: {\"error\":{\"message\":\"contents is required (request id: 202601071225558829992254DBXbRUa)\",\"type\":\"rix_api_error\",\"param\":\"\",\"code\":\"invalid_request\"}}"}

🤖 AI解决方案

错误分析开始

1. 错误翻译

json
原文:"contents is required (request id: 202601071225558829992254DBXbRUa)"
译文:"内容参数是必需的(请求ID: 202601071225558829992254DBXbRUa)"

2. 原因分析

该错误发生在调用一个外部API(可能是深度学习模型的API,如rix_api_error所示)时,根本原因是发送的HTTP请求体中缺少了必需的 contents 参数

  • 错误类型InvokeError -> PluginInvokeError -> rix_api_error

  • HTTP状态码:500(内部服务器错误,尽管本质上是请求参数错误)

  • 错误位置:在名为 models 的插件或组件中调用API时。

  • 上下文:客户端发送的请求数据不符合后端API的必填字段要求,导致后端验证失败并返回 invalid_request
  • 3. 解决方案

    确保在构造发送给该API的请求时,请求体(body)中包含一个名为 contents 的有效字段。其值应为数组或特定结构,这取决于API的具体文档。

    通用修复示例(以JavaScript/Python为例):

    ``javascript
    // 修复前(错误的请求体示例)
    const badRequestBody = {
    model: "your-model-name",
    // 缺少了
    contents 字段!
    };

    // 修复后(正确的请求体示例)
    const goodRequestBody = {
    model: "your-model-name",
    contents: [
    // 根据API文档,这里填入必需的内容。
    // 例如,对于多模态模型,可能是一个对象数组:
    {
    type: "text",
    text: "请分析这段代码。"
    }
    // 或者只是一个字符串数组:
    // "第一条内容",
    // "第二条内容"
    ]
    };

    // 然后使用此 goodRequestBody 发起API调用

    python

    Python 示例 (使用requests库)


    import requests
    import json

    url = "你的API端点"
    headers = {
    "Authorization": "Bearer your_api_key",
    "Content-Type": "application/json"
    }

    修复后的请求体


    payload = {
    "model": "your-model-name",
    "contents": [ # 确保包含此字段
    {
    "type": "text",
    "text": "请分析这段代码。"
    }
    ]
    }

    response = requests.post(url, headers=headers, json=payload)
    `

    关键步骤:

  • 检查你的代码,找到构造API请求的位置。

  • 确保请求的JSON对象中包含一个名为 contents 的键。

  • 根据目标API的官方文档,为 contents 键赋予正确的值(通常是数组)。
  • 4. ️ 预防措施

  • 详读API文档:在集成任何第三方API前,务必仔细阅读其官方文档,特别是关于请求参数的部分。明确哪些是必填字段(required),以及每个字段的数据类型和格式。

  • 使用开发工具验证

  • - 在正式代码集成前,先用 PostmancURL 手动测试API调用,确保请求体格式正确。
    - 在代码中,对API的响应进行结构化异常处理,捕获并记录详细的错误信息(如本次错误中的
    messagerequest id`),便于快速定位问题。

    ---
    请根据上述分析,检查并修正您的代码中的API请求体。