Merge pull request #23143 from giulio-leone/fix/gpt-5-4-pro-support

fix(models): set gpt-5.4-pro mode to responses — fixes #23014
This commit is contained in:
Sameer Kankute 2026-03-09 17:36:06 +05:30 • committed by GitHub
commit ca4d4a0188
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 30 additions and 16 deletions

View file

@ -21119,7 +21119,7 @@
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"mode": "responses",
"output_cost_per_token": 0.00018,
"output_cost_per_token_above_272k_tokens": 0.00027,
"output_cost_per_token_flex": 9e-05,
@ -21127,9 +21127,8 @@
"output_cost_per_token_priority": 0.00027,
"output_cost_per_token_above_272k_tokens_priority": 0.000405,
"supported_endpoints": [
"/v1/chat/completions",
"/v1/batch",
"/v1/responses"
"/v1/responses",
"/v1/batch"
],
"supported_modalities": [
"text",
@ -21168,7 +21167,7 @@
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"mode": "responses",
"output_cost_per_token": 0.00018,
"output_cost_per_token_above_272k_tokens": 0.00027,
"output_cost_per_token_flex": 9e-05,
@ -21176,9 +21175,8 @@
"output_cost_per_token_priority": 0.00027,
"output_cost_per_token_above_272k_tokens_priority": 0.000405,
"supported_endpoints": [
"/v1/chat/completions",
"/v1/batch",
"/v1/responses"
"/v1/responses",
"/v1/batch"
],
"supported_modalities": [
"text",

View file

@ -21119,7 +21119,7 @@
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"mode": "responses",
"output_cost_per_token": 0.00018,
"output_cost_per_token_above_272k_tokens": 0.00027,
"output_cost_per_token_flex": 9e-05,
@ -21127,9 +21127,8 @@
"output_cost_per_token_priority": 0.00027,
"output_cost_per_token_above_272k_tokens_priority": 0.000405,
"supported_endpoints": [
"/v1/chat/completions",
"/v1/batch",
"/v1/responses"
"/v1/responses",
"/v1/batch"
],
"supported_modalities": [
"text",
@ -21168,7 +21167,7 @@
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"mode": "responses",
"output_cost_per_token": 0.00018,
"output_cost_per_token_above_272k_tokens": 0.00027,
"output_cost_per_token_flex": 9e-05,
@ -21176,9 +21175,8 @@
"output_cost_per_token_priority": 0.00027,
"output_cost_per_token_above_272k_tokens_priority": 0.000405,
"supported_endpoints": [
"/v1/chat/completions",
"/v1/batch",
"/v1/responses"
"/v1/responses",
"/v1/batch"
],
"supported_modalities": [
"text",

View file

@ -609,6 +609,24 @@ def test_responses_api_bridge_check_strips_responses_prefix():
assert model_info["mode"] == "responses"
def test_responses_api_bridge_check_gpt_5_4_pro():
"""Test that gpt-5.4-pro routes through responses API bridge, not chat completions.
Regression test for https://github.com/BerriAI/litellm/issues/23014
gpt-5.4-pro is a responses-only model and must not be sent to /v1/chat/completions.
"""
from litellm.main import responses_api_bridge_check
for model_name in ["gpt-5.4-pro", "gpt-5.4-pro-2026-03-05"]:
model_info, model = responses_api_bridge_check(
model=model_name,
custom_llm_provider="openai",
)
assert model_info.get("mode") == "responses", (
f"{model_name} should have mode='responses', got '{model_info.get('mode')}'"
)
def test_responses_api_bridge_check_handles_exception():
"""Test that responses_api_bridge_check handles exceptions and still processes responses/ models."""
from litellm.main import responses_api_bridge_check