RAG 查询路由:规划变体→多路召回→融合→重排

RAG 查询路由:规划变体→多路召回→融合→重排 由 Archify 生成的工作流图。 01 / 查询规划 02 / 召回融合 03 / 排序出口 变体规划 多路召回 融合排序 RagQuery · 原始查询 · 查询规划 › 变体规划 RagQuery 原始查询 QueryPlanner · 策略逐一生成 · 查询规划 › 变体规划 QueryPlanner 策略逐一生成 变体集 · 6 类·maxVariants · 查询规划 › 多路召回 变体集 6 类·maxVariants 多变体召回 · Dense+BM25 并行 · 召回融合 › 多路召回 多变体召回 Dense+BM25 并行 FusionStrategy · RRF/RSF/DBSF · 召回融合 › 融合排序 FusionStrategy RRF/RSF/DBSF Reranker · Model/Chat/Noop · 排序出口 › 融合排序 Reranker Model/Chat/Noop RagHit 集 · → Assembler · 排序出口 › 融合排序 RagHit 集 → Assembler query 按策略改写 逐变体召回 多路 hits 融合去重 重排出 topK 图例 Agent 逻辑 策略 外部系统

变体策略(RagQueryVariantType)

  • • ORIGINAL 原句直通;REWRITE 改写;MULTI_QUERY 多角度扩展;HYDE 假设答案;STEP_BACK 抽象上位;CUSTOM 自定义
  • • strategies 逐个调模型生成,达 maxVariants(默认 6)即截断;includeOriginal 默认保留原查询

三选一融合策略

  • • RRF(倒数名次融合):按各变体排名 1/(k+rank) 求和,对分数尺度不敏感
  • • RSF 分数归一融合;DBSF 分布融合——AbstractScoreFusionStrategy 提供骨架,RagScoreDetail 记分数来源

排序与出口

  • • Reranker 三实现:ModelReranker 专用重排模型 · ChatReranker 用 Chat 模型打分 · NoopReranker 直通
  • • RagHit 携 chunk+score+sourceDetail 进 ContextAssembler 组装,引用链到 RagCitation