Files
litellm/tests/test_gpt5_azure_temperature_support.py
T
yuneng-jiang fb65384a76 [Fix] Remove deprecated o1-preview from O-series test and deduplicate is_o_series check
o1-preview is deprecated and not in the model registry with supports_reasoning=True,
causing the Azure O-series config test to fail. Also removed a duplicate is_o_series
assignment in utils.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 13:22:00 -07:00

98 lines
3.8 KiB
Python

"""
Test that Azure GPT-5 models support temperature parameter in Responses API.
"""
import pytest
from litellm.utils import ProviderConfigManager
from litellm.types.utils import LlmProviders
def test_azure_gpt5_supports_temperature():
"""Test that Azure GPT-5 uses the correct config that supports temperature."""
config = ProviderConfigManager.get_provider_responses_api_config(
provider=LlmProviders.AZURE,
model="gpt-5"
)
# Should use AzureOpenAIResponsesAPIConfig, not AzureOpenAIOSeriesResponsesAPIConfig
assert type(config).__name__ == "AzureOpenAIResponsesAPIConfig"
# Should support temperature parameter
supported_params = config.get_supported_openai_params("gpt-5")
assert "temperature" in supported_params, "Azure GPT-5 should support temperature parameter"
def test_azure_o_series_does_not_support_temperature():
"""Test that Azure O-series models still use the correct O-series config."""
test_models = ["o1", "o3"]
for model in test_models:
config = ProviderConfigManager.get_provider_responses_api_config(
provider=LlmProviders.AZURE,
model=model
)
# Should use AzureOpenAIOSeriesResponsesAPIConfig
assert type(config).__name__ == "AzureOpenAIOSeriesResponsesAPIConfig", \
f"Azure {model} should use O-series config"
# Should NOT support temperature parameter
supported_params = config.get_supported_openai_params(model)
assert "temperature" not in supported_params, \
f"Azure {model} should NOT support temperature parameter"
def test_openai_gpt5_supports_temperature():
"""Test that OpenAI GPT-5 supports temperature parameter."""
config = ProviderConfigManager.get_provider_responses_api_config(
provider=LlmProviders.OPENAI,
model="gpt-5"
)
# Should use OpenAIResponsesAPIConfig
assert type(config).__name__ == "OpenAIResponsesAPIConfig"
# Should support temperature parameter
supported_params = config.get_supported_openai_params("gpt-5")
assert "temperature" in supported_params, "OpenAI GPT-5 should support temperature parameter"
def test_azure_gpt5_variants_support_temperature():
"""Test that various GPT-5 model name variants support temperature."""
gpt5_variants = ["gpt-5", "gpt-5-turbo", "GPT-5", "azure/gpt-5"]
for model in gpt5_variants:
config = ProviderConfigManager.get_provider_responses_api_config(
provider=LlmProviders.AZURE,
model=model
)
# All GPT-5 variants should use the base config, not O-series config
assert type(config).__name__ == "AzureOpenAIResponsesAPIConfig", \
f"Model '{model}' should not use O-series config"
# All should support temperature
supported_params = config.get_supported_openai_params(model)
assert "temperature" in supported_params, \
f"Model '{model}' should support temperature parameter"
def test_azure_gpt_models_support_temperature():
"""Test that all GPT models (gpt-3.5, gpt-4, gpt-5, etc.) support temperature."""
gpt_models = ["gpt-3.5-turbo", "gpt-4", "gpt-4-turbo", "gpt-4o", "gpt-5"]
for model in gpt_models:
config = ProviderConfigManager.get_provider_responses_api_config(
provider=LlmProviders.AZURE,
model=model
)
# All GPT models should use the base config, not O-series config
assert type(config).__name__ == "AzureOpenAIResponsesAPIConfig", \
f"Model '{model}' should not use O-series config"
# All should support temperature
supported_params = config.get_supported_openai_params(model)
assert "temperature" in supported_params, \
f"Model '{model}' should support temperature parameter"