RAG 多路召回:原理、组件与融合策略

RAG 多路召回:原理、组件与融合策略

在 RAG(检索增强生成)系统中,多路召回(Multi-Route Retrieval / Hybrid Search) 是提升检索质量的关键技术。
核心思想:不把鸡蛋放在一个篮子里——同时使用多种检索算法,互补短板,提高召回率。


1. 为什么需要多路召回?

单一检索方式都有局限:

  • 向量检索:擅长语义理解,但对关键词、缩写、型号(如 iPhone 15 Pro Max)匹配很差。
  • 传统搜索(BM25/倒排索引):擅长精确匹配,但无法理解语义(搜“土豆”找不到“马铃薯”)。

👉 多路召回正是为了解决这个矛盾。


2. 典型的两路召回构成

A. 语义召回(Dense Retrieval)

  • 原理:用 Embedding 模型将文本转为高维向量。
  • 工具:Milvus、Pinecone、FAISS、Elasticsearch
  • 优势:语义匹配、跨语言检索

B. 关键词召回(Sparse Retrieval)

  • 原理:基于词频统计(TF‑IDF / BM25)
  • 工具:Elasticsearch、Meilisearch、ZincSearch
  • 优势:专有名词、编码、生僻词匹配准确

C. 其他可选路径

  • 知识图谱:处理复杂逻辑关系
  • 元数据过滤:按时间、类别、地域等预筛选

3. 结果融合策略

多路返回的结果需要合并,常见两种方式:

RRF(Reciprocal Rank Fusion)

只关心各路的排名,不依赖原始分数。
公式:score = Σ 1/(k + rank),k 通常取 60

  • 优点:稳定、无需调参、不受不同模型分数尺度影响

加权得分

最终得分 = α × 向量分 + β × BM25 分

  • 缺点:需反复调参,分数归一化困难

4. 必不可少的重排序(Rerank)

多路召回后通常得到 50~100 个候选文档(Top K)。
直接喂给 LLM 会导致上下文过长、中间内容丢失(Lost in the Middle)。

  • 做法:用 Cross‑Encoder 模型(如 BGE‑Reranker、Cohere Rerank)精细打分
  • 效果:大幅提升 Top‑K 准确率,保证送给大模型的内容最相关

总结

多路召回的本质是 “先求全,再求精”

  1. 向量检索 → 抓取语义意图
  2. 关键词检索 → 锁定精确细节
  3. RRF 融合 → 稳定合并结果
  4. Rerank → 精选 Top‑K
posted @ 2026-04-03 08:53  菠萝包与冰美式  阅读(446)  评论(0)    收藏  举报