I have a redis vector index store and a doc store and an upsatash vector store defined. When I define my retriever such that it filters the nodes by metadata it seems to fail.
Steps to Reproduce
defining a base retriever with metadata filter enabled
Query Fusion Retriever with metadata filtering fails
base_retriever = self.base_index.as_retriever(
similarity_top_k=self.similarity_top_k,
filters=MetadataFilters(
filters=[
ExactMatchFilter(key="namespace", value=self.namespace)
]
),
)
retriever = AutoMergingRetriever(
base_retriever, self.storage_context, verbose=verbose
)
bm24_retriever = BM25Retriever.from_defaults(
docstore=self.docstore, similarity_top_k=self.similarity_top_k
)
fusion_retriever = QueryFusionRetriever(
[retriever, bm24_retriever],
similarity_top_k=self.similarity_top_k,
num_queries=1, # set this to 1 to disable query generation
mode="reciprocal_rerank",
use_async=True,
verbose=verbose,
)
https://github.com/run-llama/llama_index/issues/11391#issue-2153660643