Skip to content

Custom OpenAI models (gpt-5, o3) use temperature despite the config #245

@AndrzejPM

Description

@AndrzejPM

Project Version

5.8.6

Bug Description

It seems that the "supports_temperature" config is not respected when it comes to gpt-5 or o3 models.
This might be relevant to the consensus tool, because there it fails most frequently, I usually get these errors:

"error": "Custom API API error for model gpt-5-2025-08-07 after 1 attempt: Error code: 400 - {'error': {'message': "Unsupported value: 'temperature' does not support 0.2 with this model. Only the default (1) value is supported.", 'type': 'invalid_request_error', 'param': 'temperature', 'code': 'unsupported_value'}}"

For reference my models configuration explicitly states temperature should not be used:

{
"model_name": "gpt-5-2025-08-07",
"provider": "ProviderType.OPENAI",
"is_custom": true,
"context_window": 400000,
"max_output_tokens": 128000,
"supports_extended_thinking": true,
"supports_json_mode": true,
"supports_system_prompts": true,
"supports_streaming": true,
"supports_function_calling": true,
"supports_temperature": false,
"temperature_constraint": "fixed",
"supports_images": true,
"max_image_size_mb": 20.0,
"reasoning": { "effort": "low"},
"description": "OpenAI GPT-5 (400K context, 128K output) - The most advanced model with the strongest reasoning (coding, architecture designs, careful planning)"
},
{
"model_name": "o3-2025-04-16",
"provider": "ProviderType.OPENAI",
"is_custom": true,
"context_window": 200000,
"max_output_tokens": 65536,
"supports_extended_thinking": false,
"supports_json_mode": true,
"supports_system_prompts": true,
"supports_streaming": true,
"supports_function_calling": true,
"supports_temperature": false,
"temperature_constraint": "fixed",
"supports_images": true,
"max_image_size_mb": 20.0,
"description": "OpenAI O3 strong reasoning (200K context) - Logical problems, code generation, systematic analysis"
},

When I use chat then the model driving the conversation often corrects this and explicitly sets temperature 1 in the next call (but having to repeat the call is not great). But in consensus this is not the case, temperature is not an option if I'm not mistaken.

Side note: I was also trying to enforce "low" reasoning effort of the model, but this not seems to be on the list of available parameters. Would be nice to get support for reasoning levels to balance answer's accuracy and latency.

Relevant Log Output

Operating System

macOS

Sanity Checks

  • I have searched the existing issues and this is not a duplicate.
  • I am using GEMINI_API_KEY
  • I am using OPENAI_API_KEY
  • I am using OPENROUTER_API_KEY
  • I am using CUSTOM_API_URL

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions