检索器
检索器负责根据用户查询(或聊天消息)获取最相关的上下文。
它可以构建在索引之上,但也可以独立定义。 它被用作查询引擎(和聊天引擎)中的关键构建模块,用于检索相关上下文。
开始使用:
retriever = index.as_retriever()nodes = retriever.retrieve("Who is Paul Graham?")从索引获取检索器:
retriever = index.as_retriever()为问题检索相关上下文:
nodes = retriever.retrieve("Who is Paul Graham?")注意:要了解如何构建索引,请参阅索引
您可以通过 retriever_mode 选择特定索引的检索器类。
例如,使用 SummaryIndex:
retriever = summary_index.as_retriever( retriever_mode="llm",)这会在摘要索引之上创建一个 SummaryIndexLLMRetriever。
请参阅检索器模式获取(索引特定的)检索器模式完整列表及其对应的检索器类。
同样地,你可以传递kwargs来配置所选的检索器。
注意:请查阅所选检索器类的构造函数参数的API参考,以获取有效关键字参数的列表。
例如,如果我们选择了“llm”检索器模式,我们可能会执行以下操作:
retriever = summary_index.as_retriever( retriever_mode="llm", choice_batch_size=5,)如果您需要更细粒度的控制,可以使用底层组合API。
要实现与上述相同的结果,您可以直接导入并构建所需的检索器类:
from llama_index.core.retrievers import SummaryIndexLLMRetriever
retriever = SummaryIndexLLMRetriever( index=summary_index, choice_batch_size=5,)更多示例请参阅检索器指南。