From f8a9bbd53788cab72f1e26eb97217a20fc1d7111 Mon Sep 17 00:00:00 2001 From: Chesars Date: Sun, 22 Mar 2026 18:22:11 -0300 Subject: [PATCH] test: add supports_none branch coverage for Responses API GPT-5 temperature Add tests for the gpt-5.1/5.2/5.4 reasoning.effort interaction: - gpt-5.1 with no reasoning allows flexible temperature - gpt-5.1 with effort='high' drops temperature - gpt-5.4 with effort='none' allows flexible temperature --- .../llms/openai/test_gpt5_transformation.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tests/test_litellm/llms/openai/test_gpt5_transformation.py b/tests/test_litellm/llms/openai/test_gpt5_transformation.py index f95dbbe9bf0..6383bfc9e18 100644 --- a/tests/test_litellm/llms/openai/test_gpt5_transformation.py +++ b/tests/test_litellm/llms/openai/test_gpt5_transformation.py @@ -1114,3 +1114,48 @@ def test_responses_gpt5_chat_allow_temperature( drop_params=False, ) assert params["temperature"] == 0.3 + + +def test_responses_gpt51_allow_temperature_no_reasoning( + responses_config: OpenAIResponsesAPIConfig, +): + """gpt-5.1 supports reasoning_effort='none'; no reasoning defaults to 'none', + so temperature should be allowed.""" + params = responses_config.map_openai_params( + response_api_optional_params=ResponsesAPIOptionalRequestParams( + temperature=0.5, + ), + model="gpt-5.1", + drop_params=False, + ) + assert params["temperature"] == 0.5 + + +def test_responses_gpt51_drop_temperature_with_high_effort( + responses_config: OpenAIResponsesAPIConfig, +): + """gpt-5.1 with reasoning.effort='high' should drop temperature!=1.""" + params = responses_config.map_openai_params( + response_api_optional_params=ResponsesAPIOptionalRequestParams( + temperature=0.5, + reasoning={"effort": "high"}, + ), + model="gpt-5.1", + drop_params=True, + ) + assert "temperature" not in params + + +def test_responses_gpt54_allow_temperature_effort_none( + responses_config: OpenAIResponsesAPIConfig, +): + """gpt-5.4 with explicit reasoning.effort='none' should allow temperature.""" + params = responses_config.map_openai_params( + response_api_optional_params=ResponsesAPIOptionalRequestParams( + temperature=0.7, + reasoning={"effort": "none"}, + ), + model="gpt-5.4", + drop_params=False, + ) + assert params["temperature"] == 0.7