重排模型
一句话:在RAG检索后重新排序候选文档,提高最终交给大模型的资料命中率。
它是什么
重排模型通常用于语义检索之后。第一轮检索先找出一批可能相关的文档,重排模型再根据问题和文档的匹配程度重新排序,把更相关的内容放到前面。它可以显著改善知识库答非所问的问题。
适合干什么
- RAG知识库开发者
- 企业文档问答系统
- 客服知识库
- 搜索结果相关性要求高的项目
不适合干什么
- 文档很少的小项目
- 对速度要求极高且不能增加延迟的场景
- 没有评测集就盲目优化的人
普通人怎么用
- 先用Embedding检索出Top 20文档
- 把问题和候选文档交给重排模型
- 取重排后的Top 3到Top 5
- 再交给聊天模型生成答案
- 用真实问题对比开启前后的效果
进阶用户怎么用
- 对不同问题类型设置不同候选数量
- 结合关键词检索、向量检索和重排
- 为重排效果建立人工标注集
- 监控准确率、延迟和成本
常见误区
- 只加重排但不优化原始文档
- 候选文档取太少,重排没空间
- 候选文档取太多,成本和延迟过高
- 没有用真实问题评测
和相似工具的区别
- 重排模型 vs Embedding模型:Embedding负责快速找候选,重排负责精细判断候选顺序。
- 重排 vs 提示词优化:重排改善资料输入质量,提示词优化改善回答方式,两者解决的问题不同。
入门步骤
- 收集20个真实问题
- 记录当前检索结果
- 加入重排模型
- 对比命中文档和回答质量
- 调整候选数量和Top K
推荐工具(第三方)
BGE Reranker、Cohere Rerank、Jina Reranker、LangChain、LlamaIndex