首页/AI/RAG 与向量库速查/Multi-Query 多路召回合并

Multi-Query 多路召回合并

让模型把一个问题改写成多个不同视角的子查询,各自检索后合并去重,降低单一表述漏召回的概率;适合问题表述与文档差异大的场景。

RAG 与向量库速查AI更新于 2026-10-12

LangChain 示例

LangChain 示例
from langchain.retrievers.multi_query import MultiQueryRetriever

retriever = MultiQueryRetriever.from_llm(
    retriever=base_retriever, llm=llm)
docs = retriever.invoke("如何给向量库做容量规划?")
多路结果合并后要按 chunk_id 或内容哈希去重;路数 3-5 较常见,过多会拖慢在线延迟。

易错点

  • 多条改写高度雷同时没有增益,先抽样看改写质量再定路数
  • 合并结果不去重,上下文被同一内容的多份改写占满

数据来源与参考

  • LangChain 官方文档(MultiQueryRetriever)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌