Skip to content
LlamaIndex 文档版本 跟随上游 源快照 98d49a52 更新于 2026-10-15

概念

检索器负责根据用户查询(或对话消息)取回最相关的上下文。

它可以构建在索引之上,也可以独立定义。它是查询引擎(以及对话引擎)里的关键构件,用于检索相关上下文。

提示

不确定检索器在 RAG 流程中处于哪个位置?读一读高层概念

使用方式

从这里开始:

retriever = index.as_retriever()
nodes = retriever.retrieve("Who is Paul Graham?")

开始使用

从索引获取检索器:

retriever = index.as_retriever()

针对一个问题检索相关上下文:

nodes = retriever.retrieve("Who is Paul Graham?")

注:如何构建索引,见索引(Indexing)

高层 API

选择检索器

你可以通过 retriever_mode 选择与索引类型匹配的检索器类。例如配合 SummaryIndex:

retriever = summary_index.as_retriever(
    retriever_mode="llm",
)

这会在摘要索引之上创建一个 SummaryIndexLLMRetriever。

(索引专属的)检索器模式与它们所映射到的检索器类的完整对照,见检索器模式。

配置检索器

同理,你也可以传入关键字参数来配置所选的检索器。

注:有效的关键字参数请查阅所选检索器类构造函数的 API 参考。

例如,若我们选择了 “llm” 检索器模式,可以这样写:

retriever = summary_index.as_retriever(
    retriever_mode="llm",
    choice_batch_size=5,
)

低层组合 API

需要更细粒度的控制时,可以使用低层组合 API。

要达到与上面相同的效果,可以直接导入并构造你想要的检索器类:

from llama_index.core.retrievers import SummaryIndexLLMRetriever

retriever = SummaryIndexLLMRetriever(
    index=summary_index,
    choice_batch_size=5,
)

示例

更多示例见检索器指南。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。