test(providers): cover reasoning_effort="none" and gemma auto-routing
- Anthropic: "none" must not enable extended thinking - Azure: "none" must not suppress temperature or inject reasoning body - DeepSeek/DashScope/Kimi: "none" sends thinking disabled, skips reasoning_effort field - Gemini: gemma keyword enables auto-routing for gemma models
This commit is contained in:
@@ -78,6 +78,11 @@ def test_supports_temperature_with_reasoning_effort():
|
||||
assert AzureOpenAIProvider._supports_temperature("gpt-4o", reasoning_effort="medium") is False
|
||||
|
||||
|
||||
def test_supports_temperature_with_reasoning_effort_none_string():
|
||||
"""reasoning_effort='none' must NOT suppress temperature — it means thinking is off."""
|
||||
assert AzureOpenAIProvider._supports_temperature("gpt-4o", reasoning_effort="none") is True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# _build_body — Responses API body construction
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -131,6 +136,16 @@ def test_build_body_with_reasoning():
|
||||
assert "temperature" not in body
|
||||
|
||||
|
||||
def test_build_body_reasoning_effort_none_string_omits_reasoning():
|
||||
"""reasoning_effort='none' must not inject a reasoning body and must allow temperature."""
|
||||
provider = AzureOpenAIProvider(api_key="k", api_base="https://r.com", default_model="gpt-4o")
|
||||
body = provider._build_body(
|
||||
[{"role": "user", "content": "hi"}], None, "gpt-4o", 4096, 0.7, "none", None,
|
||||
)
|
||||
assert "reasoning" not in body
|
||||
assert body["temperature"] == 0.7
|
||||
|
||||
|
||||
def test_build_body_image_conversion():
|
||||
"""image_url content blocks should be converted to input_image."""
|
||||
provider = AzureOpenAIProvider(api_key="k", api_base="https://r.com", default_model="gpt-4o")
|
||||
|
||||
Reference in New Issue
Block a user