在LlamaIndex中,当你使用融合检索器(如QueryFusionRetriever)时,查询会同时走多个索引。融合检索器的设计目的是将多个索引的检索结果结合起来,以提供更全面和准确的结果。
具体来说,QueryFusionRetriever会在查询时执行以下步骤:
- 生成额外查询:根据原始查询生成额外的相关查询。
- 并行检索:将生成的查询并行地发送到所有指定的索引(如向量索引、关键词表索引等)。
- 结果聚合:从所有索引中收集检索结果,并进行去重和排序,以返回最相关的节点。
示例代码回顾
让我们回顾一下之前的示例代码,看看查询时是如何走多个索引的:
1. 创建融合检索器
from llama_index.core.retrievers import QueryFusionRetriever
retriever = QueryFusionRetriever(
[vector_index.as_retriever()<