本课目标

  • 用"开卷考试 vs 闭卷背书"理解 RAG 和微调的本质区别
  • 掌握 RAG 的五阶段流水线,知道质量瓶颈在哪
  • 建立选型直觉:什么时候 RAG、什么时候微调、什么时候两者都用

通用模型什么都懂一点,但你的业务它不懂。你怎么把自己的文档、数据库、业务知识"塞"给它?两条路:RAG(检索增强生成)和微调。本讲不讲论文,只讲这两个东西到底是什么、怎么选、坑在哪。

核心内容

RAG = 开卷考试

把相关文档检索出来,跟用户问题一起塞进 Prompt,让模型"读材料回答"。

五个阶段:

  1. 文档解析:把 PDF/Word/网页提取成纯文本。脏数据在这一步就会杀死下游质量。
  2. 切块(Chunking):把长文档切成小段。切太大 → 检索不准。切太小 → 缺上下文。
  3. 向量化(Embedding):把每个段落转成向量,存入向量数据库。
  4. 检索:用户提问 → 转成向量 → 在数据库里找最相似的段落。向量检索 + BM25 关键词检索混合使用是性价比最高的优化。
  5. 组装生成:把检索到的段落 + 用户问题拼成 Prompt,让模型生成回答。

质量公式:RAG 的 70% 取决于检索质量,20% 取决于切块策略,10% 取决于生成。 很多人一上来就调模型参数,方向完全错了。

微调 = 闭卷考试

拿几百上千条"问题→理想回答"的训练数据,在基础模型上再训练一轮。训练完后,模型内化了你的领域知识,不需要每次检索。

一句话选型规则:RAG 用来更新知识,微调用来固化格式。先用 RAG,不够再加微调。

为什么这个顺序?因为你的知识每天都在变——新文档、新政策、新数据。RAG 改的是"参考资料",即时生效。微调改的是"模型参数",需要重新训练和部署。成本差了几个数量级。

什么时候两者都用?

RAG 检索到的文档可能很长,直接塞进 Prompt 又贵又慢。这时候用微调过的模型做"压缩"——让模型把检索结果精炼成关键信息,再喂给生成模型。工程界管这叫"双模型架构"。

五个最常见翻车点

  1. 切块大小一拍脑门。解决方案:根据文档结构(段落、章节)自适应切分,而不是硬切 500 字。
  2. 只用向量检索。向量找的是"语义相似",不是"关键词匹配"。有人搜"API 限流",向量可能返回"流量控制概述"但漏了标题就是"API Rate Limiting"的文档。
  3. 检索结果不设阈值。不管相关度多低都往 Prompt 里塞 → 模型被噪音淹没。相似度低于阈值的直接丢弃,告诉模型"没找到相关信息"。
  4. 生成时不给引用。用户无法验证信息来源,无法判断可信度。
  5. 单独评估生成质量而不评估检索质量。生成得好不好,前提是检索到的文档对不对。两个指标分开看。

动手练习

拿你项目里的一份技术文档,用最朴素的方式搭一个 RAG:手动切块 → 不建向量库,直接在文件里搜关键词 → 把搜到的段落 + 问题人工拼一个 Prompt。对比直接问模型的效果差异。