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

概念

重排器(reranker)接收初始检索器(通常是稠密向量检索、关键词检索,或两者的混合)返回的 top-k 个节点,并依据一种更强、但通常也更慢的「查询-文档相关性」度量重新排序。重排是 RAG 流水线里杠杆最大的旋钮之一:初始检索器针对大语料的高召回而调优,而重排器让你在结果进入 LLM 之前把准确度找回来。

在 LlamaIndex 里,重排器是以节点后处理器的形式实现的,运行在检索与响应合成之间。

使用方式

from llama_index.core.postprocessor import SentenceTransformerRerank

reranker = SentenceTransformerRerank(
    model="cross-encoder/ms-marco-MiniLM-L6-v2", top_n=3
)

query_engine = index.as_query_engine(
    similarity_top_k=10,
    node_postprocessors=[reranker],
)
response = query_engine.query("What did the author do in college?")

检索器先取回更宽的一组结果(similarity_top_k=10),重排器再筛出最好的 top_n=3,然后才交给 LLM。

选择重排器

包含所有集成与所有模型的完整参考,见节点后处理器指南。重排器是节点后处理器中的一个类别。

延伸阅读

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