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: