mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-24 20:09:01 +00:00
Add mmr support to redis retriever (#10556)
This commit is contained in:
@@ -1425,6 +1425,7 @@ class RedisVectorStoreRetriever(VectorStoreRetriever):
|
||||
"similarity",
|
||||
"similarity_distance_threshold",
|
||||
"similarity_score_threshold",
|
||||
"mmr",
|
||||
]
|
||||
"""Allowed search types."""
|
||||
|
||||
@@ -1438,7 +1439,6 @@ class RedisVectorStoreRetriever(VectorStoreRetriever):
|
||||
) -> List[Document]:
|
||||
if self.search_type == "similarity":
|
||||
docs = self.vectorstore.similarity_search(query, **self.search_kwargs)
|
||||
|
||||
elif self.search_type == "similarity_distance_threshold":
|
||||
if self.search_kwargs["distance_threshold"] is None:
|
||||
raise ValueError(
|
||||
@@ -1454,6 +1454,10 @@ class RedisVectorStoreRetriever(VectorStoreRetriever):
|
||||
)
|
||||
)
|
||||
docs = [doc for doc, _ in docs_and_similarities]
|
||||
elif self.search_type == "mmr":
|
||||
docs = self.vectorstore.max_marginal_relevance_search(
|
||||
query, **self.search_kwargs
|
||||
)
|
||||
else:
|
||||
raise ValueError(f"search_type of {self.search_type} not allowed.")
|
||||
return docs
|
||||
|
Reference in New Issue
Block a user