From 06a7d079b05ac5db6a13564989befc91a7d7261b Mon Sep 17 00:00:00 2001 From: "Guofang.Tang" <136770748@qq.com> Date: Mon, 9 Feb 2026 02:15:48 +0800 Subject: [PATCH] fix(openai): detect codex models for responses api preference (#35058) --- libs/partners/openai/langchain_openai/chat_models/base.py | 2 +- .../openai/tests/unit_tests/chat_models/test_base.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/partners/openai/langchain_openai/chat_models/base.py b/libs/partners/openai/langchain_openai/chat_models/base.py index 6d41c83f331..41aecad78c1 100644 --- a/libs/partners/openai/langchain_openai/chat_models/base.py +++ b/libs/partners/openai/langchain_openai/chat_models/base.py @@ -477,7 +477,7 @@ def _handle_openai_bad_request(e: openai.BadRequestError) -> None: def _model_prefers_responses_api(model_name: str | None) -> bool: if not model_name: return False - return "gpt-5.2-pro" in model_name + return "gpt-5.2-pro" in model_name or "codex" in model_name _BM = TypeVar("_BM", bound=BaseModel) diff --git a/libs/partners/openai/tests/unit_tests/chat_models/test_base.py b/libs/partners/openai/tests/unit_tests/chat_models/test_base.py index 79fbc0222f8..886644c8a0c 100644 --- a/libs/partners/openai/tests/unit_tests/chat_models/test_base.py +++ b/libs/partners/openai/tests/unit_tests/chat_models/test_base.py @@ -3191,7 +3191,12 @@ def test_gpt_5_1_temperature_with_reasoning_effort_none( def test_model_prefers_responses_api() -> None: assert _model_prefers_responses_api("gpt-5.2-pro") + 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-codex") assert not _model_prefers_responses_api("gpt-5.1") + assert not _model_prefers_responses_api("gpt-5") def test_openai_structured_output_refusal_handling_responses_api() -> None: