Code: invalid_request_error, HTTP Status: 400)

2026年06月16日 13:51 42.29 秒 success

错误信息

The `reasoning_content` in the thinking mode must be passed back to the API. (Model Provider Error Code: invalid_request_error, HTTP Status: 400)

AI 解决方案

🔍 错误分析

1. 🌐 错误翻译


原文:The `reasoning_content` in the thinking mode must be passed back to the API. (Model Provider Error Code: invalid_request_error, HTTP Status: 400)
译文:思维模式下的 `reasoning_content` 必须回传给 API。(模型提供商错误代码:invalid_request_error,HTTP 状态码:400)

2. 🎯 原因分析


  • 根本原因:您正在调用一个支持“思维模式”(或称“推理模式”)的AI模型API。该API要求,在后续的对话请求中,必须将上一轮模型返回的 reasoning_content 字段(即模型的推理思考过程)包含在您发送的请求中。

  • 具体上下文:错误发生在您发起API请求时。系统检测到您的请求消息历史记录中,缺少了前一轮模型响应中必需的 reasoning_content 字段,导致请求被模型提供商判定为无效(invalid_request_error)。
  • 3. 💡 解决方案


    您需要在构造下一次API请求时,将上一轮收到的完整响应(包括 reasoning_content)添加到对话历史中。

    示例(Python 伪代码):

    # 假设这是上一轮API的完整响应(字典格式)
    last_response = {
        "id": "chatcmpl-xxx",
        "choices": [
            {
                "message": {
                    "role": "assistant",
                    "content": "...",  # 模型的最终回答
                    "reasoning_content": "我首先分析了用户的问题,然后查找了相关资料..."  # 关键:必须保留此字段
                }
            }
        ],
        # ... 其他字段
    }
    
    # 构造下一次请求时,将上一轮的 message(包含 reasoning_content)加入历史
    messages_history = [
        {"role": "system", "content": "你的系统提示词..."},
        {"role": "user", "content": "用户第一次的问题"},
        last_response["choices"][0]["message"],  # 将上一轮助手的完整回复(含reasoning_content)加入历史
        {"role": "user", "content": "用户的下一次问题"}  # 当前的新问题
    ]
    
    # 使用 messages_history 发起新的API调用
    

    关键点:确保发送给API的 messages 列表中,助手(assistant)角色的消息包含 reasoning_content 字段,而不是只有 content 字段。

    4. 🛡️ 预防措施


  • 仔细阅读API文档:在使用支持特殊模式(如思维模式、函数调用等)的API前,务必仔细阅读官方文档,了解其对请求和响应格式的特殊要求。

  • 完整存储与回传:在处理多轮对话时,存储完整的API响应对象,并在构造下一次请求时完整回传,避免仅提取 content 字段而丢失其他必需字段(如 reasoning_content, tool_calls 等)。

  • 添加日志与校验:在调试阶段,记录即将发送的请求体,并在发送前进行简单的格式校验,检查是否包含了所有必需字段。