mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-07 21:50:25 +00:00
Minor update to ensemble retriever to handle a mix of Documents or str (#14552)
This commit is contained in:
parent
ca7da8f7ef
commit
282362382c
@ -103,6 +103,13 @@ class EnsembleRetriever(BaseRetriever):
|
|||||||
for i, retriever in enumerate(self.retrievers)
|
for i, retriever in enumerate(self.retrievers)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Enforce that retrieved docs are Documents for each list in retriever_docs
|
||||||
|
for i in range(len(retriever_docs)):
|
||||||
|
retriever_docs[i] = [
|
||||||
|
Document(page_content=doc) if not isinstance(doc, Document) else doc
|
||||||
|
for doc in retriever_docs[i]
|
||||||
|
]
|
||||||
|
|
||||||
# apply rank fusion
|
# apply rank fusion
|
||||||
fused_documents = self.weighted_reciprocal_rank(retriever_docs)
|
fused_documents = self.weighted_reciprocal_rank(retriever_docs)
|
||||||
|
|
||||||
@ -130,6 +137,13 @@ class EnsembleRetriever(BaseRetriever):
|
|||||||
for i, retriever in enumerate(self.retrievers)
|
for i, retriever in enumerate(self.retrievers)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Enforce that retrieved docs are Documents for each list in retriever_docs
|
||||||
|
for i in range(len(retriever_docs)):
|
||||||
|
retriever_docs[i] = [
|
||||||
|
Document(page_content=doc) if not isinstance(doc, Document) else doc
|
||||||
|
for doc in retriever_docs[i]
|
||||||
|
]
|
||||||
|
|
||||||
# apply rank fusion
|
# apply rank fusion
|
||||||
fused_documents = self.weighted_reciprocal_rank(retriever_docs)
|
fused_documents = self.weighted_reciprocal_rank(retriever_docs)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user