Reranker 模型
Reranker 模型对初步召回的候选内容重新排序,提升 RAG、搜索和推荐链路中最终上下文的相关性。
#ai
#concept
#growing
#reranker
[!info] related notes
- 所属 MOC: AI 模型能力 MOC, AI MOC
- 前置概念: Embedding 模型
- 应用场景: Python RAG 文件问答 Agent, Augmented LLM
- 管线组件: Reranker
Reranker 模型
一句话定义
Reranker 模型用于对初步召回的一组候选内容重新排序,让最相关、最适合放进上下文的内容排在前面。
角色边界
- 本页解释 Reranker 模型:它怎样对 query-candidate 对打分、为什么比第一阶段召回更精细,以及模型层的成本/能力边界。
- Reranker 解释检索管线里的重排组件:候选从哪里来、何时调用模型、怎样截断与回传结果。
- 因此“模型”是组件的一种实现依赖,组件不等于某一个具体模型。
核心机制 / 工作原理
Embedding 检索通常先快速召回一批候选,例如 top 20 个文本块。Reranker 再逐个判断“查询和候选内容是否真的匹配”,输出更精细的相关性分数。
常见链路是:
- 用户提出问题。
- 用 Embedding 模型 从向量库召回 top K 候选。
- Reranker 对“问题 + 候选文本”逐对打分。
- 选出分数最高的 top N。
- 把 top N 放进 LLM 上下文。
Reranker 通常比向量召回更慢,但判断更细,所以适合放在“先粗召回、再精排序”的第二阶段。
最小例子 / 最小场景
用户问“部署失败为什么是 403”,向量检索可能召回很多包含“部署”或“403”的段落。Reranker 会进一步判断哪些段落真正解释这个错误,而不是只因为关键词或语义相近就排前。
常见使用场景
- RAG 检索结果重排
- 搜索结果排序
- FAQ 候选答案排序
- 推荐系统精排
- 多路召回结果合并
边界与易混淆点
- Reranker 不负责生成答案:它只决定哪些候选更值得交给下游。
- Reranker 不替代 embedding:embedding 负责快速召回,reranker 负责精细排序。
- Reranker 会增加延迟和成本:候选数量、文本长度和批量推理策略都要控制。
- 如果召回阶段完全没找对候选,reranker 也很难凭空补救。
学习检查
- Reranker 模型与 embedding 模型的输入和目标有什么不同?
- 为什么 reranker 更适合作为第二阶段,而不是直接承担全库第一阶段检索?
- 如果召回阶段漏掉正确文档,reranker 能否补救?为什么?
- “Reranker 模型”和“Reranker 管线组件”分别应该在哪里配置?
最短记忆方式
Reranker 是 RAG 和搜索里的“复核排序层”,负责从候选里挑出最该给模型看的内容。