mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
feat(openai): Use responses API if model is gpt-5.2-pro (#34306)
This commit is contained in:
@@ -468,6 +468,12 @@ def _handle_openai_bad_request(e: openai.BadRequestError) -> None:
|
||||
raise
|
||||
|
||||
|
||||
def _model_prefers_responses_api(model_name: str | None) -> bool:
|
||||
if not model_name:
|
||||
return False
|
||||
return "gpt-5.2-pro" in model_name
|
||||
|
||||
|
||||
_BM = TypeVar("_BM", bound=BaseModel)
|
||||
_DictOrPydanticClass: TypeAlias = dict[str, Any] | type[_BM] | type
|
||||
_DictOrPydantic: TypeAlias = dict | _BM
|
||||
@@ -1391,6 +1397,7 @@ class BaseChatOpenAI(BaseChatModel):
|
||||
or self.reasoning is not None
|
||||
or self.truncation is not None
|
||||
or self.use_previous_response_id
|
||||
or _model_prefers_responses_api(self.model_name)
|
||||
):
|
||||
return True
|
||||
return _use_responses_api(payload)
|
||||
|
||||
@@ -74,6 +74,7 @@ from langchain_openai.chat_models.base import (
|
||||
_format_message_content,
|
||||
_get_last_messages,
|
||||
_make_computer_call_output_from_message,
|
||||
_model_prefers_responses_api,
|
||||
_oai_structured_outputs_parser,
|
||||
)
|
||||
|
||||
@@ -3148,3 +3149,8 @@ def test_gpt_5_1_temperature_with_reasoning_effort_none(
|
||||
messages = [HumanMessage(content="Hello")]
|
||||
payload = llm._get_request_payload(messages)
|
||||
assert "temperature" not in payload
|
||||
|
||||
|
||||
def test_model_prefers_responses_api() -> None:
|
||||
assert _model_prefers_responses_api("gpt-5.2-pro")
|
||||
assert not _model_prefers_responses_api("gpt-5.1")
|
||||
|
||||
Reference in New Issue
Block a user