本课目标
- 用"开卷考试 vs 闭卷背书"理解 RAG 和微调的本质区别
- 掌握 RAG 的五阶段流水线,知道质量瓶颈在哪
- 建立选型直觉:什么时候 RAG、什么时候微调、什么时候两者都用
通用模型什么都懂一点,但你的业务它不懂。你怎么把自己的文档、数据库、业务知识"塞"给它?两条路:RAG(检索增强生成)和微调。本讲不讲论文,只讲这两个东西到底是什么、怎么选、坑在哪。
核心内容
RAG = 开卷考试
把相关文档检索出来,跟用户问题一起塞进 Prompt,让模型"读材料回答"。
五个阶段:
- 文档解析:把 PDF/Word/网页提取成纯文本。脏数据在这一步就会杀死下游质量。
- 切块(Chunking):把长文档切成小段。切太大 → 检索不准。切太小 → 缺上下文。
- 向量化(Embedding):把每个段落转成向量,存入向量数据库。
- 检索:用户提问 → 转成向量 → 在数据库里找最相似的段落。向量检索 + BM25 关键词检索混合使用是性价比最高的优化。
- 组装生成:把检索到的段落 + 用户问题拼成 Prompt,让模型生成回答。
质量公式:RAG 的 70% 取决于检索质量,20% 取决于切块策略,10% 取决于生成。 很多人一上来就调模型参数,方向完全错了。
微调 = 闭卷考试
拿几百上千条"问题→理想回答"的训练数据,在基础模型上再训练一轮。训练完后,模型内化了你的领域知识,不需要每次检索。
一句话选型规则:RAG 用来更新知识,微调用来固化格式。先用 RAG,不够再加微调。
为什么这个顺序?因为你的知识每天都在变——新文档、新政策、新数据。RAG 改的是"参考资料",即时生效。微调改的是"模型参数",需要重新训练和部署。成本差了几个数量级。
什么时候两者都用?
RAG 检索到的文档可能很长,直接塞进 Prompt 又贵又慢。这时候用微调过的模型做"压缩"——让模型把检索结果精炼成关键信息,再喂给生成模型。工程界管这叫"双模型架构"。
五个最常见翻车点
- 切块大小一拍脑门。解决方案:根据文档结构(段落、章节)自适应切分,而不是硬切 500 字。
- 只用向量检索。向量找的是"语义相似",不是"关键词匹配"。有人搜"API 限流",向量可能返回"流量控制概述"但漏了标题就是"API Rate Limiting"的文档。
- 检索结果不设阈值。不管相关度多低都往 Prompt 里塞 → 模型被噪音淹没。相似度低于阈值的直接丢弃,告诉模型"没找到相关信息"。
- 生成时不给引用。用户无法验证信息来源,无法判断可信度。
- 单独评估生成质量而不评估检索质量。生成得好不好,前提是检索到的文档对不对。两个指标分开看。
动手练习
拿你项目里的一份技术文档,用最朴素的方式搭一个 RAG:手动切块 → 不建向量库,直接在文件里搜关键词 → 把搜到的段落 + 问题人工拼一个 Prompt。对比直接问模型的效果差异。