mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-15 01:13:48 +00:00
langchain[patch]: Fix MongoDBAtlasVectorSearch reference in self query retriever (#22401)
**Description:** SelfQuery Retriever with MongoDBAtlasVectorSearch (from langchain_mongodb import MongoDBAtlasVectorSearch) and Chroma (from langchain_chroma import Chroma) is not supported. The imports in the [builtin translators](8cbce684d4/libs/langchain/langchain/retrievers/self_query/base.py (L73)
) points to the [deprecated](acaf214a45/libs/community/langchain_community/vectorstores/mongodb_atlas.py (L36)
) vectorstore. **Issue:** #22272 --------- Co-authored-by: Bagatur <baskaryan@gmail.com> Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com>
This commit is contained in:
parent
afe89a1411
commit
f397a84a59
@ -64,13 +64,11 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
|
|||||||
from langchain_community.query_constructors.weaviate import WeaviateTranslator
|
from langchain_community.query_constructors.weaviate import WeaviateTranslator
|
||||||
from langchain_community.vectorstores import (
|
from langchain_community.vectorstores import (
|
||||||
AstraDB,
|
AstraDB,
|
||||||
Chroma,
|
|
||||||
DashVector,
|
DashVector,
|
||||||
DatabricksVectorSearch,
|
DatabricksVectorSearch,
|
||||||
DeepLake,
|
DeepLake,
|
||||||
Dingo,
|
Dingo,
|
||||||
Milvus,
|
Milvus,
|
||||||
MongoDBAtlasVectorSearch,
|
|
||||||
MyScale,
|
MyScale,
|
||||||
OpenSearchVectorSearch,
|
OpenSearchVectorSearch,
|
||||||
PGVector,
|
PGVector,
|
||||||
@ -82,9 +80,15 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
|
|||||||
Vectara,
|
Vectara,
|
||||||
Weaviate,
|
Weaviate,
|
||||||
)
|
)
|
||||||
|
from langchain_community.vectorstores import (
|
||||||
|
Chroma as CommunityChroma,
|
||||||
|
)
|
||||||
from langchain_community.vectorstores import (
|
from langchain_community.vectorstores import (
|
||||||
ElasticsearchStore as ElasticsearchStoreCommunity,
|
ElasticsearchStore as ElasticsearchStoreCommunity,
|
||||||
)
|
)
|
||||||
|
from langchain_community.vectorstores import (
|
||||||
|
MongoDBAtlasVectorSearch as CommunityMongoDBAtlasVectorSearch,
|
||||||
|
)
|
||||||
from langchain_community.vectorstores import (
|
from langchain_community.vectorstores import (
|
||||||
Pinecone as CommunityPinecone,
|
Pinecone as CommunityPinecone,
|
||||||
)
|
)
|
||||||
@ -93,7 +97,7 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
|
|||||||
AstraDB: AstraDBTranslator,
|
AstraDB: AstraDBTranslator,
|
||||||
PGVector: PGVectorTranslator,
|
PGVector: PGVectorTranslator,
|
||||||
CommunityPinecone: PineconeTranslator,
|
CommunityPinecone: PineconeTranslator,
|
||||||
Chroma: ChromaTranslator,
|
CommunityChroma: ChromaTranslator,
|
||||||
DashVector: DashvectorTranslator,
|
DashVector: DashvectorTranslator,
|
||||||
Dingo: DingoDBTranslator,
|
Dingo: DingoDBTranslator,
|
||||||
Weaviate: WeaviateTranslator,
|
Weaviate: WeaviateTranslator,
|
||||||
@ -106,7 +110,7 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
|
|||||||
SupabaseVectorStore: SupabaseVectorTranslator,
|
SupabaseVectorStore: SupabaseVectorTranslator,
|
||||||
TimescaleVector: TimescaleVectorTranslator,
|
TimescaleVector: TimescaleVectorTranslator,
|
||||||
OpenSearchVectorSearch: OpenSearchTranslator,
|
OpenSearchVectorSearch: OpenSearchTranslator,
|
||||||
MongoDBAtlasVectorSearch: MongoDBAtlasTranslator,
|
CommunityMongoDBAtlasVectorSearch: MongoDBAtlasTranslator,
|
||||||
}
|
}
|
||||||
if isinstance(vectorstore, DatabricksVectorSearch):
|
if isinstance(vectorstore, DatabricksVectorSearch):
|
||||||
return DatabricksVectorSearchTranslator()
|
return DatabricksVectorSearchTranslator()
|
||||||
@ -148,6 +152,22 @@ def _get_builtin_translator(vectorstore: VectorStore) -> Visitor:
|
|||||||
if isinstance(vectorstore, PineconeVectorStore):
|
if isinstance(vectorstore, PineconeVectorStore):
|
||||||
return PineconeTranslator()
|
return PineconeTranslator()
|
||||||
|
|
||||||
|
try:
|
||||||
|
from langchain_mongodb import MongoDBAtlasVectorSearch
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if isinstance(vectorstore, MongoDBAtlasVectorSearch):
|
||||||
|
return MongoDBAtlasTranslator()
|
||||||
|
|
||||||
|
try:
|
||||||
|
from langchain_chroma import Chroma
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if isinstance(vectorstore, Chroma):
|
||||||
|
return ChromaTranslator()
|
||||||
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"Self query retriever with Vector Store type {vectorstore.__class__}"
|
f"Self query retriever with Vector Store type {vectorstore.__class__}"
|
||||||
f" not supported."
|
f" not supported."
|
||||||
|
Loading…
Reference in New Issue
Block a user