RAG 系统 “检索 - 筛选 - 生成” 完整流程
文档目的
本文档详细拆解 RAG(Retrieval-Augmented Generation,检索增强生成)系统的核心工作流程,明确 “用户提问→最终回答” 的全链路逻辑,帮助理解命中片段如何经过处理转化为大模型的精准回答,适用于知识库搭建、RAG 系统优化等场景。
核心逻辑总览
RAG 系统的核心是 “以知识库片段为依据,通过多轮处理生成精准回答”,整体闭环为:用户提问→提问优化→混合检索→筛选重排→增强输入→模型生成。命中片段是核心素材,但需经过 “筛选去冗、结构化整合”,并非直接投喂大模型,最终回答需兼顾 “准确性(基于知识库)” 和 “连贯性(逻辑整合)”。
完整流程分步拆解(含案例)
以用户问题 “LLM 训练数据的核心条件有哪些” 为例,详细拆解每一步动作、目的及输出结果:
步骤 1:提问优化(Query Rewrite)
- 核心动作:大模型或检索系统对用户原始提问进行标准化处理,补充同义关键词、修正表述模糊点,适配索引匹配逻辑。
- 案例操作:用户原始问题 “LLM 训练数据的核心条件有哪些”→ 优化后提问 “LLM 训练数据 核心条件 要求 标准”。
- 核心目的:避免因提问表述不规范、关键词缺失导致的检索漏检,提升后续检索的精准度。
- 输出结果:标准化优化后的检索提问。
步骤 2:混合检索(Retrieval)
- 核心动作:结合向量索引(语义匹配)和关键词索引(字面匹配),从知识库中批量抓取相关候选片段,兼顾检索速度与语义准确性。
- 案例操作:
- 关键词索引:抓取含 “LLM”“训练数据”“核心条件” 等字面关键词的片段;
- 向量索引:抓取 “AI 模型数据要求”“大语言模型训练数据标准” 等语义相关片段;
- 初步汇总得到 8 个候选片段(含用户提及的 3 个核心命中片段)。
- 核心目的:全面覆盖潜在相关信息,既不遗漏语义匹配的内容,也保证检索效率。
- 输出结果:10-20 个(视配置而定)初步候选片段集合。
步骤 3:筛选与重排(Filtering & Reranking)
- 核心动作:对候选片段进行 “去芜存菁”,通过三重筛选剔除无效信息,再按相关度重排,保留核心有效片段。
- 案例操作:
- 相关度筛选:过滤仅含关键词但语义无关的片段(如仅提 “训练数据” 未说 “条件”),8 个→5 个;
- 冗余筛选:合并重复信息(如 2 个片段均讲 “数据合规”,保留信息更完整的 1 个),5 个→4 个;
- 完整性筛选:剔除语义碎片化片段(如仅说 “两个条件” 却未明确具体内容),4 个→3 个;
- 重排:按 “与问题相关度分数” 排序,将强相关片段置于前列。
- 核心目的:减少无效信息干扰,降低大模型处理成本,确保输入素材的有效性。
- 输出结果:3-5 个(视配置而定)排序后的核心有效片段。
步骤 4:增强输入构建(Context Augmentation)
- 核心动作:将 “用户原始问题 + 排序后核心片段 + 系统提示词” 组合成结构化 “输入包”,明确大模型的回答规则与依据。
- 案例操作(输入包结构):
- 提示词:“基于以下知识库片段,准确回答用户问题,仅使用片段中的信息,不编造未提及内容,逻辑连贯地整合信息,避免简单罗列。”;
- 核心片段 1(强相关):“LLM 的训练数据需要满足两个核心条件:一是数据来源合法合规,避免版权纠纷;二是数据质量高,无冗余、无错误。只有同时满足这两点,训练出的模型才能兼顾安全性和实用性。”;
- 核心片段 2(中等相关):“训练数据的合规性需覆盖版权授权、用户隐私保护,避免使用未授权的互联网爬取数据。”;
- 核心片段 3(补充相关):“高质量训练数据的核心标准包括:数据真实、无逻辑错误、领域匹配(如医疗 LLM 需用医疗相关数据)。”;
- 用户原始问题:“LLM 训练数据的核心条件有哪些?”
- 核心目的:为大模型提供清晰的输入边界,确保回答基于知识库,不偏离主题。
- 输出结果:结构化、带规则约束的大模型输入包。
步骤 5:模型生成回答(Generation)
- 核心动作:大模型读取输入包,整合核心片段信息,生成符合要求的自然语言回答。
- 案例操作:大模型整合 3 个片段的核心信息与细节,生成逻辑连贯的回答。
- 案例输出结果:“LLM 训练数据的核心条件有两个,一是合法合规,需覆盖版权授权和用户隐私保护,避免使用未授权的互联网爬取数据;二是高质量,要求数据真实、无逻辑错误且与模型应用领域匹配。这两个条件同时满足,才能让训练出的模型兼顾安全性和实用性。”
- 核心原则:
- 仅基于输入的核心片段生成,不编造片段外未提及的信息(如不涉及 “数据量级”);
- 整合片段信息,避免简单罗列,形成有逻辑的完整回答;
- 若片段信息冲突,优先采用相关度最高的片段内容。
- 输出结果:面向用户的最终自然语言回答。
流程可配置选项(影响处理范围)
RAG 系统支持灵活配置,不同设置会影响最终的片段处理范围与回答效果,关键配置项如下:
- 模型常识补充开关:开启后,若片段未覆盖基础常识(如 “无冗余” 的定义),大模型可轻微补充;关闭后,严格仅基于片段信息生成。
- 筛选阈值调整:
- 严格模式:仅保留 2-3 个强相关片段,聚焦核心信息;
- 宽松模式:保留 5-6 个片段,兼顾全面性。
- 多轮检索触发条件:若筛选后片段数量不足(如≤1 个)或信息残缺,系统会重新优化提问,再次检索知识库补充素材。
总结
RAG 系统的核心价值在于 “让大模型的回答有依据、更精准”,全流程围绕 “精准获取有效信息→高效整合信息” 展开。命中片段是回答的基础,但需经过 “优化提问→混合检索→筛选重排→结构化输入” 的多轮处理,才能转化为高质量回答。合理配置流程参数,可适配不同知识库类型(问答库、论文、产品手册)的使用需求。
