From 4559997e35fa85b94868c5996fb2d2068bef16d0 Mon Sep 17 00:00:00 2001 From: ccurme Date: Tue, 5 Aug 2025 14:23:29 -0300 Subject: [PATCH] refactor(openai): move chat model to v1 namespace (#32407) --- libs/partners/openai/langchain_openai/__init__.py | 3 +-- .../partners/openai/langchain_openai/chat_models/__init__.py | 3 +-- libs/partners/openai/langchain_openai/v1/__init__.py | 3 +++ .../openai/langchain_openai/v1/chat_models/__init__.py | 3 +++ .../{chat_models/base_v1.py => v1/chat_models/base.py} | 0 .../integration_tests/chat_models/test_responses_api.py | 3 ++- .../openai/tests/unit_tests/chat_models/test_imports.py | 5 ++++- .../tests/unit_tests/chat_models/test_responses_stream.py | 3 ++- libs/partners/openai/tests/unit_tests/test_imports.py | 5 ++++- 9 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 libs/partners/openai/langchain_openai/v1/__init__.py create mode 100644 libs/partners/openai/langchain_openai/v1/chat_models/__init__.py rename libs/partners/openai/langchain_openai/{chat_models/base_v1.py => v1/chat_models/base.py} (100%) diff --git a/libs/partners/openai/langchain_openai/__init__.py b/libs/partners/openai/langchain_openai/__init__.py index e8bcdb920ac..a1756f0526d 100644 --- a/libs/partners/openai/langchain_openai/__init__.py +++ b/libs/partners/openai/langchain_openai/__init__.py @@ -1,11 +1,10 @@ -from langchain_openai.chat_models import AzureChatOpenAI, ChatOpenAI, ChatOpenAIV1 +from langchain_openai.chat_models import AzureChatOpenAI, ChatOpenAI from langchain_openai.embeddings import AzureOpenAIEmbeddings, OpenAIEmbeddings from langchain_openai.llms import AzureOpenAI, OpenAI __all__ = [ "OpenAI", "ChatOpenAI", - "ChatOpenAIV1", "OpenAIEmbeddings", "AzureOpenAI", "AzureChatOpenAI", diff --git a/libs/partners/openai/langchain_openai/chat_models/__init__.py b/libs/partners/openai/langchain_openai/chat_models/__init__.py index 8e2d4b53de7..574128d2704 100644 --- a/libs/partners/openai/langchain_openai/chat_models/__init__.py +++ b/libs/partners/openai/langchain_openai/chat_models/__init__.py @@ -1,5 +1,4 @@ from langchain_openai.chat_models.azure import AzureChatOpenAI from langchain_openai.chat_models.base import ChatOpenAI -from langchain_openai.chat_models.base_v1 import ChatOpenAI as ChatOpenAIV1 -__all__ = ["ChatOpenAI", "AzureChatOpenAI", "ChatOpenAIV1"] +__all__ = ["ChatOpenAI", "AzureChatOpenAI"] diff --git a/libs/partners/openai/langchain_openai/v1/__init__.py b/libs/partners/openai/langchain_openai/v1/__init__.py new file mode 100644 index 00000000000..2d6bafdd6d0 --- /dev/null +++ b/libs/partners/openai/langchain_openai/v1/__init__.py @@ -0,0 +1,3 @@ +from langchain_openai.v1.chat_models import ChatOpenAI + +__all__ = ["ChatOpenAI"] diff --git a/libs/partners/openai/langchain_openai/v1/chat_models/__init__.py b/libs/partners/openai/langchain_openai/v1/chat_models/__init__.py new file mode 100644 index 00000000000..0e63b2a441b --- /dev/null +++ b/libs/partners/openai/langchain_openai/v1/chat_models/__init__.py @@ -0,0 +1,3 @@ +from langchain_openai.v1.chat_models.base import ChatOpenAI + +__all__ = ["ChatOpenAI"] diff --git a/libs/partners/openai/langchain_openai/chat_models/base_v1.py b/libs/partners/openai/langchain_openai/v1/chat_models/base.py similarity index 100% rename from libs/partners/openai/langchain_openai/chat_models/base_v1.py rename to libs/partners/openai/langchain_openai/v1/chat_models/base.py diff --git a/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py b/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py index 7ba8b4a8aee..fbe2a5e6aa0 100644 --- a/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py +++ b/libs/partners/openai/tests/integration_tests/chat_models/test_responses_api.py @@ -20,7 +20,8 @@ from langchain_core.v1.messages import HumanMessage as HumanMessageV1 from pydantic import BaseModel from typing_extensions import TypedDict -from langchain_openai import ChatOpenAI, ChatOpenAIV1 +from langchain_openai import ChatOpenAI +from langchain_openai.v1 import ChatOpenAI as ChatOpenAIV1 MODEL_NAME = "gpt-4o-mini" diff --git a/libs/partners/openai/tests/unit_tests/chat_models/test_imports.py b/libs/partners/openai/tests/unit_tests/chat_models/test_imports.py index c2df88b0214..948e278b0fd 100644 --- a/libs/partners/openai/tests/unit_tests/chat_models/test_imports.py +++ b/libs/partners/openai/tests/unit_tests/chat_models/test_imports.py @@ -1,7 +1,10 @@ from langchain_openai.chat_models import __all__ +from langchain_openai.v1.chat_models import __all__ as v1_all -EXPECTED_ALL = ["ChatOpenAI", "ChatOpenAIV1", "AzureChatOpenAI"] +EXPECTED_ALL = ["ChatOpenAI", "AzureChatOpenAI"] +EXPECTED_ALL_V1 = ["ChatOpenAI"] def test_all_imports() -> None: assert sorted(EXPECTED_ALL) == sorted(__all__) + assert sorted(EXPECTED_ALL_V1) == sorted(v1_all) diff --git a/libs/partners/openai/tests/unit_tests/chat_models/test_responses_stream.py b/libs/partners/openai/tests/unit_tests/chat_models/test_responses_stream.py index b837fa94d70..6b5318d9b1c 100644 --- a/libs/partners/openai/tests/unit_tests/chat_models/test_responses_stream.py +++ b/libs/partners/openai/tests/unit_tests/chat_models/test_responses_stream.py @@ -37,7 +37,8 @@ from openai.types.responses.response_usage import ( from openai.types.shared.reasoning import Reasoning from openai.types.shared.response_format_text import ResponseFormatText -from langchain_openai import ChatOpenAI, ChatOpenAIV1 +from langchain_openai import ChatOpenAI +from langchain_openai.v1 import ChatOpenAI as ChatOpenAIV1 from tests.unit_tests.chat_models.test_base import MockSyncContextManager responses_stream = [ diff --git a/libs/partners/openai/tests/unit_tests/test_imports.py b/libs/partners/openai/tests/unit_tests/test_imports.py index 6284bbc9ddb..d64cc6bf5f7 100644 --- a/libs/partners/openai/tests/unit_tests/test_imports.py +++ b/libs/partners/openai/tests/unit_tests/test_imports.py @@ -1,15 +1,18 @@ from langchain_openai import __all__ +from langchain_openai.v1 import __all__ as v1_all EXPECTED_ALL = [ "OpenAI", "ChatOpenAI", - "ChatOpenAIV1", "OpenAIEmbeddings", "AzureOpenAI", "AzureChatOpenAI", "AzureOpenAIEmbeddings", ] +EXPECTED_ALL_V1 = ["ChatOpenAI"] + def test_all_imports() -> None: assert sorted(EXPECTED_ALL) == sorted(__all__) + assert sorted(EXPECTED_ALL_V1) == sorted(v1_all)