RAG 在线 Pipeline 1(全景):把用户的"人话"翻译成机器懂的精准检索词。是决定召回上限的第一道关口。

Query 向量化的 6 个动作

动作 说明
接收原始 Query 直接拿到用户输入
Query 清洗 去除多余符号、emoji,标准化大小写
多轮上下文融合 把历史对话信息融入当前 Query
Query 增强 见下文"6 种方法"
调用 Embedding 模型 必须与离线 chunk 用同一个模型
缓存命中 高频 Query 直接命中缓存,跳过下游

Query 增强 6 种方法

# 方法 做什么 例子
1 语义强化(Synonym Expansion) 通过同义词扩展、语义改写等手段,丰富 Query 的语义表达,让检索系统更全面理解用户意图 "苹果怎么下载软件" → "Apple iPhone / iOS 设备如何安装 / 下载 App 应用程序"
2 歧义消解(Clarification) 识别并消除 Query 中的多义词、指代不明等歧义,确保检索方向精准 "Java 怎么泡" → 判断用户意图:编程语言 Java 还是爪哇咖啡?→ 结合上下文/用户画像选择正确方向
3 上下文补全(Context Completion) 利用对话历史或会话上下文,将省略的信息补回 Query 中,让单轮检索也能获得多轮语境 第 1 轮"北京天气怎么样"+ 第 2 轮"明天呢?" → 补全为"北京明天天气怎么样"
4 意图拆解(Sub-question) 将复杂的复合 Query 拆分为多个子意图,分别检索后融合,提高召回精度 "对比 React 和 Vue 在大型项目中的性能和生态" → ①React 大型项目性能 ②Vue 大型项目性能 ③React 生态体系 ④Vue 生态体系
5 领域术语适配 把口语化表达翻译成专业术语 "心跳太快" → "心动过速"
6 约束条件强化 显式提取或补充 Query 中的时间、地点、数量、格式等约束条件 "最近有什么好看的电影" → "2026 年 3-4 月 中国大陆上映 评分 ≥ 7.0 的电影推荐"

Query 改写两条路线

路线 原理 优缺点
seq2seq(指针生成网络) 首先识别历史对话中遗漏的单词,然后在组合阶段根据遗漏的单词改写当前的问题 优点速度较快;缺点模型复杂,效果相对不尽如人意
Few-Shot + CoT 基于大模型,应用 Few-shot + CoT 方法训练和推理 准确率高;缺点是慢且贵

Few-Shot 改写的 Prompt 结构示例

内容
Instruction 对于给定的对话,请帮助将重新改写,以便在没有上下文的情况下可以充分表达用户的信息需求
Demonstration 几个完整的 Query + 历史 + Rewrite 三元组示例
Input 当前 Context(多轮历史)+ Current Question
Output Rewrite + Reason

选型建议

  • 高 QPS、延迟敏感 → seq2seq 或缓存策略
  • 客单价高、准确率优先 → Few-Shot + CoT
  • 大部分工业场景 → 两者混合:seq2seq 兜底 + 关键 Query 用 LLM 改写

PM 怎么用 / 何时用

  • 当 RAG"问题问对了却检索不到"时,对照 6 种增强方法定位缺口(同义词没扩、歧义没消、多轮没补全等),提需求给工程。
  • 改写路线选型上,按场景给结论:高 QPS/延迟敏感走 seq2seq 或缓存,客单价高/准确率优先走 Few-Shot+CoT,多数场景两者混合。
  • 设计多轮对话产品时,把"上下文补全/指代消解"列为必做项,否则单轮检索拿不到完整语境。

相关页面

RAG运转流程RAG检索-组装-生成提示词设计五要素Few-Shot少样本提示AIPM课程 Day8