原始数据采集
先定义知识边界,再收资料。目标是让进入知识库的数据和业务问题强相关,而不是“先全量堆进去”。
- 先区分核心资料、辅助资料、噪声资料,避免知识源失焦。
- 优先收集高频问答、制度文档、产品说明、工单记录这类直接影响命中率的材料。
这是一张围绕 落地 与 排障 设计的 RAG 关联型知识地图。你可以按主链路顺着看,也可以从“召回差、幻觉高、Query 不清”这类问题反向定位相关环节。
先去看分块策略、搜索策略、最大召回数量、最小匹配度、重排与混合检索。
优先回看证据召回质量、Prompt 组装、引用依据和生成后处理。
先查 Query 改写、歧义消解、约束条件强化和领域术语适配。
回到在线链路,看 Text-to-SQL、查询路由、结构化优先和多路查询拆分。
大模型会说,不代表它能稳定回答业务问题。RAG 的出现,本质上是为了弥补纯参数化记忆在时效性、私有知识、专业精度和可追溯性上的天然短板。
训练后世界会变化,模型参数不会自动同步最新知识。
在证据不足时,模型仍可能生成看似合理但事实错误的内容。
企业制度、工单、说明书、业务表单等不会天然存在于模型参数中。
纯大模型问答常常无法告诉你答案依据到底来自哪里。
RAG 由离线和在线两大阶段组成。离线负责“把知识准备好”,在线负责“把知识正确地找出来并生成答案”。
目标是把原始资料转成可被系统高效检索的知识资产。离线质量越差,在线上限越低。
目标不是“让模型猜”,而是“让模型基于证据作答”。真正成熟的系统还会在最后加上后处理和引用标注。
整个答案生成过程中,共享同一组检索文档,更适合理解为“先搜一批,再整体作答”。
逐 token 生成时允许参考不同检索文档,灵活但更复杂。
RAG 不只是“先搜后答”的粗流程,它在生成阶段内部也可以有不同耦合方式。
离线阶段是整套系统的地基。它不直接回答用户问题,但决定了后面检索与生成的上限。
先定义知识边界,再收资料。目标是让进入知识库的数据和业务问题强相关,而不是“先全量堆进去”。
把 PDF、Word、PPT、图片、扫描件等资料转成机器可读的结构化文本,并尽量保留标题层级与表格关系。
把“可读文本”进一步变成“可检索文本”,包括去重、去噪、脱敏、纠错和无关信息剔除。
把长文档切成适合检索的 Chunk,平衡语义完整性、命中精度、窗口长度和后续 Token 成本。
使用 Embedding 模型把文本映射到语义空间,让系统可以基于“意思相近”而不是只靠关键词匹配。
把向量、原文、元数据和结构标签一起存入可搜索系统,形成后续在线检索依赖的知识资产底座。
如果离线阶段收错数据、解析失真、清洗不到位、分块不合理,后面再怎么调检索和 Prompt,效果都只能在低质量地基上打补丁。
这是实践中最容易“听懂概念、但实际最影响效果”的部分。真正决定线上命中的,往往不是模型名字,而是 Chunk 设计和检索结构是否合理。
Embedding 模型负责把文本映射到向量空间,用于相似度匹配,不负责自然语言答案生成。
以 DPR 为代表的 Dense Retrieval,让 Query 和 Passage 映射到同一语义空间,是现代语义检索的核心范式之一。
真实检索往往不是只有“最近邻”,而是向量相似度、元数据过滤和排序策略的组合。
原因不是“不能搜到”,而是 上下文放不下、成本太高、噪声太多。所以离线分块的意义,就是把大文档提前拆成可按需调用的片段,问题问到哪一块,就优先召回哪一块。
说明书、手册这类复杂文档往往不是只切一层,而是 大切片保留背景,小切片负责精准命中。先用小切片找方向,再回捞对应的大切片,是典型的提准思路。
在线阶段是真正被用户感知到的部分。它不是“一问一答”,而是一条由改写、路由、检索、召回、重排、增强和生成组成的复合链路。
当一个 Query 被改写或拆解后,系统要决定每个子问题走哪条路径:查结构化数据库、查向量数据库,还是走多路查询。
典型路径包括 Text-to-SQL 与 Text-to-Embedding。前者面向明确字段和精确条件,后者面向语义相似和模糊表达。
举个例子:“气候变化的影响”这种问题。它不是一个单路查询,而是可以拆成“对天气的影响”“对经济的影响”等多路子问题,再把结果合并后交给模型生成最终答案。
这类词不是算法自己知道的,而是产品要定义业务规则。比如“最近”到底指 7 天、30 天还是当前季度,这会直接影响改写、路由和最终答案。
这是产品最容易介入、也最容易直接提升准确率的地方。用户的表达往往模糊、缺信息、多意图,必须先改写,后检索。
通过同义词扩展、语义改写、实体链接等方式,丰富 Query 的表达。
识别多义词、指代不明、语境缺失问题,避免搜错方向。
补回被用户省略、但检索系统必须依赖的关键信息。
把一个复杂问题拆成多个子问题,分别搜,再合并结果。
把通俗表达转成更适合业务知识库理解的专业术语。
补全时间、地点、范围、评分、格式等限制条件。
HyDE 的思路不是直接拿 Query 去检索,而是先让大模型生成一段“假想答案文档”,再对这段文档做 embedding,用它去找真实文档。适合 Query 很短、很抽象、缺乏相关标注时的零样本检索。
Query 改写不是“算法自己决定”,而是: 产品规则 + 数据标注 + 模型能力 的结合。产品经理负责定义目标、规则与业务边界,技术团队负责把规则真正做进系统。
真正成熟的 RAG 检索系统,不是只做一次向量搜索,而是把稀疏检索、稠密检索、召回、精排、结果融合组合起来,服务最终答案质量。
依赖词项匹配,对专有名词、型号、术语编号尤其有效。
依赖语义相似,适合自然语言问题、模糊表达和语义近义匹配。
最常见的真实含义之一,就是 Sparse + Dense 一起用。
实践中有“每轮自动召回”与“按需从特定知识库召回”两种方式。前者省操作,后者更可控,适合多知识库和高成本场景。
语义适合模糊表达,全文适合术语、编号、关键词精确命中。真实产品里通常不是二选一,而是看场景组合使用。
通过 3、5 这样的数量演示召回条数变化。数量越大,覆盖面更广,但噪声、成本和后续重排负担也会升高。
你真正要管的是“门槛设多少”,不是分数如何计算。算法负责打分,产品负责结合场景确定放行阈值。
检索完并不代表系统已经成功。真正的关键在于:如何把证据组织进 Prompt,并让模型输出结构清楚、依据明确、尽量不编造的答案。
小块负责精准命中,大块负责补充背景,是“小搜大”“父子 Chunk”类策略的核心。
适合对比型、多条件、多跳问题,能提升复杂问题的检索质量。
成熟的 RAG 系统不只要答对,还要告诉用户:依据来自哪里、是否可回查。
强调一点:“增强在各个环节都有”。除了 Prompt 组装,还包括 Query 增强、跨域增强、功能态增强等。它本质上是在不同节点把系统往“更容易答对”方向推。
对工作场景来说,答案首先要基于证据、结构稳定、能回查来源;表达润色和可读性,是在此基础上的第二层要求。
一个 RAG 系统要真正可用,不只是“看起来能答”,而是要能评估、能定位问题、能持续优化。
这一页系统梳理了 RAG 从离线构建到在线检索、增强生成与评估落地的完整链路,可作为项目复盘与实战应用时的产品视角参考。