diff --git a/libs/langchain/langchain/embeddings/__init__.py b/libs/langchain/langchain/embeddings/__init__.py index d377dc181cf..2343393f2ae 100644 --- a/libs/langchain/langchain/embeddings/__init__.py +++ b/libs/langchain/langchain/embeddings/__init__.py @@ -74,32 +74,12 @@ if TYPE_CHECKING: XinferenceEmbeddings, ) + from langchain.chains.hyde.base import HypotheticalDocumentEmbedder + logger = logging.getLogger(__name__) -# TODO: this is in here to maintain backwards compatibility -class HypotheticalDocumentEmbedder: - def __init__(self, *args: Any, **kwargs: Any): - logger.warning( - "Using a deprecated class. Please use " - "`from langchain.chains import HypotheticalDocumentEmbedder` instead", - ) - from langchain.chains.hyde.base import HypotheticalDocumentEmbedder as H - - return H(*args, **kwargs) # type: ignore[return-value] # noqa: PLE0101 - - @classmethod - def from_llm(cls, *args: Any, **kwargs: Any) -> Any: - logger.warning( - "Using a deprecated class. Please use " - "`from langchain.chains import HypotheticalDocumentEmbedder` instead", - ) - from langchain.chains.hyde.base import HypotheticalDocumentEmbedder as H - - return H.from_llm(*args, **kwargs) - - # Create a way to dynamically look up deprecated imports. # Used to consolidate logic for raising deprecation warnings and # handling optional imports. @@ -130,6 +110,7 @@ DEPRECATED_LOOKUP = { "HuggingFaceHubEmbeddings": "langchain_community.embeddings", "HuggingFaceInferenceAPIEmbeddings": "langchain_community.embeddings", "HuggingFaceInstructEmbeddings": "langchain_community.embeddings", + "HypotheticalDocumentEmbedder": "langchain.chains.hyde.base", "InfinityEmbeddings": "langchain_community.embeddings", "JavelinAIGatewayEmbeddings": "langchain_community.embeddings", "JinaEmbeddings": "langchain_community.embeddings", @@ -195,6 +176,7 @@ __all__ = [ "HuggingFaceHubEmbeddings", "HuggingFaceInferenceAPIEmbeddings", "HuggingFaceInstructEmbeddings", + "HypotheticalDocumentEmbedder", "InfinityEmbeddings", "JavelinAIGatewayEmbeddings", "JinaEmbeddings", diff --git a/libs/langchain/tests/unit_tests/embeddings/test_imports.py b/libs/langchain/tests/unit_tests/embeddings/test_imports.py index b44acf1a603..b64d5c08bd9 100644 --- a/libs/langchain/tests/unit_tests/embeddings/test_imports.py +++ b/libs/langchain/tests/unit_tests/embeddings/test_imports.py @@ -11,6 +11,7 @@ EXPECTED_ALL = [ "FastEmbedEmbeddings", "HuggingFaceEmbeddings", "HuggingFaceInferenceAPIEmbeddings", + "HypotheticalDocumentEmbedder", "InfinityEmbeddings", "GradientEmbeddings", "JinaEmbeddings", diff --git a/libs/langchain/tests/unit_tests/test_imports.py b/libs/langchain/tests/unit_tests/test_imports.py index 5e83b8a52c6..5c6a26e6ebd 100644 --- a/libs/langchain/tests/unit_tests/test_imports.py +++ b/libs/langchain/tests/unit_tests/test_imports.py @@ -96,7 +96,7 @@ def test_no_more_changes_to_proxy_community() -> None: # most cases. hash_ += len(str(sorted(deprecated_lookup.items()))) - evil_magic_number = 38620 + evil_magic_number = 38684 assert hash_ == evil_magic_number, ( "If you're triggering this test, you're likely adding a new import "