From 45f9c9ae8838ccd94eda88c8c636f84ab0dfd5cd Mon Sep 17 00:00:00 2001 From: xintoteai <160626233+xintoteai@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:53:41 -0800 Subject: [PATCH] langchain: fixed weaviate (v4) vectorstore import for self-query retriever (#28675) Co-authored-by: Xin Heng --- .../langchain/langchain/retrievers/self_query/base.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libs/langchain/langchain/retrievers/self_query/base.py b/libs/langchain/langchain/retrievers/self_query/base.py index 7a13362d553..cae199a75d7 100644 --- a/libs/langchain/langchain/retrievers/self_query/base.py +++ b/libs/langchain/langchain/retrievers/self_query/base.py @@ -170,6 +170,7 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor: return Neo4jTranslator() try: + # Trying langchain_chroma import if exists from langchain_chroma import Chroma except ImportError: pass @@ -204,6 +205,16 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor: if isinstance(vectorstore, HanaDB): return HanaTranslator() + try: + # Trying langchain_weaviate (weaviate v4) import if exists + from langchain_weaviate.vectorstores import WeaviateVectorStore + + except ImportError: + pass + else: + if isinstance(vectorstore, WeaviateVectorStore): + return WeaviateTranslator() + raise ValueError( f"Self query retriever with Vector Store type {vectorstore.__class__}" f" not supported."