fix(models): correct supports_service_tier flags for Azure models

Add supports_service_tier to azure/gpt-4.1 and azure/gpt-4.1-2025-04-14
per Azure's priority processing docs. Remove the flag from
azure/gpt-5.3-chat, azure/gpt-5.4-mini, and azure/gpt-5.4-nano which
are not in Azure's supported list.
This commit is contained in:
michelligabriele 2026-04-01 15:45:19 +02:00
parent 33c3f13443
commit 15aae324db
No known key found for this signature in database
3 changed files with 49 additions and 10 deletions

View file

@ -2724,7 +2724,8 @@
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": false
"supports_web_search": false,
"supports_service_tier": true
},
"azure/gpt-4.1-2025-04-14": {
"deprecation_date": "2026-11-04",
@ -2758,7 +2759,8 @@
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": false
"supports_web_search": false,
"supports_service_tier": true
},
"azure/gpt-4.1-mini": {
"cache_read_input_token_cost": 1e-07,
@ -4190,7 +4192,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true
},
"azure/gpt-5.3-codex": {
@ -4469,7 +4470,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true,
"supports_web_search": true,
"supports_none_reasoning_effort": false,
@ -4505,7 +4505,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true,
"supports_web_search": true,
"supports_none_reasoning_effort": false,

View file

@ -2724,7 +2724,8 @@
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": false
"supports_web_search": false,
"supports_service_tier": true
},
"azure/gpt-4.1-2025-04-14": {
"deprecation_date": "2026-11-04",
@ -2758,7 +2759,8 @@
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": false
"supports_web_search": false,
"supports_service_tier": true
},
"azure/gpt-4.1-mini": {
"cache_read_input_token_cost": 1e-07,
@ -4190,7 +4192,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true
},
"azure/gpt-5.3-codex": {
@ -4469,7 +4470,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true,
"supports_web_search": true,
"supports_none_reasoning_effort": false,
@ -4505,7 +4505,6 @@
"supports_response_schema": true,
"supports_system_messages": true,
"supports_tool_choice": true,
"supports_service_tier": true,
"supports_vision": true,
"supports_web_search": true,
"supports_none_reasoning_effort": false,

View file

@ -892,6 +892,47 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
raise AssertionError(error_message)
def test_azure_supports_service_tier_flags():
"""
Verify that supports_service_tier is set correctly for Azure models
based on Azure's priority processing documentation.
Ref: https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/priority-processing
"""
import json
from pathlib import Path
config_path = (
Path(__file__).parent.parent.parent / "model_prices_and_context_window.json"
)
with open(config_path, "r") as f:
models = json.load(f)
# Models that Azure officially supports for priority processing
should_have = [
"azure/gpt-4.1",
"azure/gpt-4.1-2025-04-14",
]
# Models that should NOT have the flag
should_not_have = [
"azure/gpt-5.3-chat",
"azure/gpt-5.4-mini",
"azure/gpt-5.4-nano",
]
for model in should_have:
assert model in models, f"{model} not found in model config"
assert models[model].get("supports_service_tier") is True, (
f"{model} should have supports_service_tier=true"
)
for model in should_not_have:
assert model in models, f"{model} not found in model config"
assert "supports_service_tier" not in models[model], (
f"{model} should not have supports_service_tier"
)
def test_max_tokens_consistency():
"""
Test that max_tokens == max_output_tokens for all models.