Error code: 400 - {'error': {'message': 'Function tools with reasoning_effort ar...

2026年05月11日 10:45 processing

错误信息

openai.BadRequestError: Error code: 400 - {'error': {'message': 'Function tools with reasoning_effort are not supported for gpt-5.5 in /v1/chat/completions. Please use /v1/responses instead. (tid: 2026051102312822754768091176723)', 'type': 'invalid_request_error', 'param': 'reasoning_effort', 'code': None}}

AI 解决方案

错误翻译


原文:Function tools with reasoning_effort are not supported for gpt-5.5 in /v1/chat/completions. Please use /v1/responses instead.
译文:`/v1/chat/completions`端点不支持为gpt-5.5模型同时使用Function tools(函数工具)与`reasoning_effort`参数。请改用`/v1/responses`端点。

因分析


  • 根本原因:您在使用 gpt-5.5 模型时,通过 /v1/chat/completions API 端点同时传入了Function tools(工具调用)和 reasoning_effort 参数。当前该端点不支持此组合功能。

  • 问题位置:错误发生在OpenAI API的调用阶段。具体是请求体(messagestools相关参数)中的参数组合与所使用的API端点及模型版本不兼容。
  • ###方案
    根据错误提示,请将API调用端点从 /v1/chat/completions 切换至 /v1/responses

    # 错误示例(使用/chat/completions)
    import openai
    
    client = openai.OpenAI()
    response = client.chat.completions.create(
        model="gpt-5.5",
        messages=[{"role": "user", "content": "你好"}],
        tools=[...],  # 您的工具定义
        reasoning_effort="medium"  # 此参数与tools在此端点冲突
    )
    
    # 修复后示例(使用/responses)
    import openai
    
    client = openai.OpenAI()
    response = client.responses.create(  # 更改调用方法
        model="gpt-5.5",
        input=[{"role": "user", "content": "你好"}],  # 注意:参数名可能从‘messages’变为‘input’
        tools=[...],  # 您的工具定义
        reasoning_effort="medium"
    )
    # 响应处理逻辑也可能需要调整,请参考`/v1/responses`接口文档。
    

    预防措施


  • 查阅官方文档:在使用新模型(如gpt-5.5)或新参数前,务必查阅OpenAI官方API文档,确认不同端点(/v1/chat/completions/v1/responses)的功能支持差异。

  • 进行兼容性测试:在集成新功能时,编写单元测试验证所需的功能组合在当前API版本和端点下是否受支持,避免在生产环境中遇到此类错误。