mirror of
https://github.com/hwchase17/langchain.git
synced 2026-03-18 02:53:16 +00:00
fix(openai): update responses API model detection for pro and codex models (#35594)
This commit is contained in:
committed by
GitHub
parent
f838c78788
commit
3af0bc0141
@@ -533,10 +533,17 @@ def _handle_openai_api_error(e: openai.APIError) -> None:
|
||||
raise
|
||||
|
||||
|
||||
_RESPONSES_API_ONLY_PREFIXES = (
|
||||
"gpt-5-pro",
|
||||
"gpt-5.2-pro",
|
||||
"gpt-5.4-pro",
|
||||
)
|
||||
|
||||
|
||||
def _model_prefers_responses_api(model_name: str | None) -> bool:
|
||||
if not model_name:
|
||||
return False
|
||||
return "gpt-5.2-pro" in model_name or "codex" in model_name
|
||||
return model_name.startswith(_RESPONSES_API_ONLY_PREFIXES) or "codex" in model_name
|
||||
|
||||
|
||||
_BM = TypeVar("_BM", bound=BaseModel)
|
||||
|
||||
@@ -3274,13 +3274,28 @@ def test_gpt_5_1_temperature_with_reasoning_effort_none(
|
||||
|
||||
|
||||
def test_model_prefers_responses_api() -> None:
|
||||
# Pro models (with and without date snapshots): Responses API only
|
||||
assert _model_prefers_responses_api("gpt-5-pro")
|
||||
assert _model_prefers_responses_api("gpt-5-pro-2025-10-06")
|
||||
assert _model_prefers_responses_api("gpt-5.2-pro")
|
||||
assert _model_prefers_responses_api("gpt-5.2-pro-2025-12-11")
|
||||
assert _model_prefers_responses_api("gpt-5.4-pro")
|
||||
assert _model_prefers_responses_api("gpt-5.4-pro-2026-03-05")
|
||||
# Codex models: Responses API only
|
||||
assert _model_prefers_responses_api("gpt-5.3-codex")
|
||||
assert _model_prefers_responses_api("gpt-5.2-codex")
|
||||
assert _model_prefers_responses_api("gpt-5.1-codex")
|
||||
assert _model_prefers_responses_api("gpt-5.1-codex-max")
|
||||
assert _model_prefers_responses_api("gpt-5.1-codex-mini")
|
||||
assert _model_prefers_responses_api("gpt-5-codex")
|
||||
assert not _model_prefers_responses_api("gpt-5.1")
|
||||
assert _model_prefers_responses_api("codex-mini-latest")
|
||||
# These should not match
|
||||
assert not _model_prefers_responses_api("gpt-5")
|
||||
assert not _model_prefers_responses_api("gpt-5.1")
|
||||
assert not _model_prefers_responses_api("gpt-5.4")
|
||||
assert not _model_prefers_responses_api("o3-pro")
|
||||
assert not _model_prefers_responses_api("gpt-4.1")
|
||||
assert not _model_prefers_responses_api(None)
|
||||
|
||||
|
||||
def test_openai_structured_output_refusal_handling_responses_api() -> None:
|
||||
|
||||
Reference in New Issue
Block a user