RAG
为什么需要 RAG
LLM 的知识有边界:
- 它不知道你的私有知识库
- 可能不知道最新信息
- 在专业领域容易幻觉
RAG 的价值是:把"模型凭记忆回答"变成"模型先查资料再回答",从而让回答有据可依、更可控、更有时效性。
什么是 RAG
一句话定义:RAG(检索增强生成)是"先检索外部资料,再基于资料生成回答"的架构。
它的核心流程:
用户问题
↓
1. 检索:找到最相关的文档片段
↓
2. 增强:把片段拼进 Prompt
↓
3. 生成:模型基于这些资料生成答案
类比:就像考试时让你"先看参考资料,再回答问题"——参考资料就是检索来的内容。
这个流程里,"检索"是最关键的一步。关于检索的具体方式,可以看 Retrieval 词条的详细说明。
怎么做:什么时候用 RAG
适合用 RAG 的场景:
- 公司内部文档问答
- 实时信息问答
- 法律、医疗、金融等专业问答
不一定需要 RAG 的场景:
- 通用常识问答(模型本身已具备)
- 简单的一次性生成(不需要外部知识)
常见坑:
- RAG 不是接了向量库就完事了:真正影响效果的是整条链路——怎么切 chunk、怎么检索、怎么拼接上下文、怎么让模型基于资料而不是自由发挥
- 检索越多不一定越好:无关上下文太多会干扰模型。这里就需要关注 Context Window 的限制,不是塞得越多越好
- RAG 不能彻底消灭幻觉:检索错、拼接错、生成错都可能继续出问题
记住这一句:RAG 让模型"先查后答",解决的是模型知识边界和幻觉问题——但效果取决于整条检索链路的质量,不是换一个更强的模型就能解决。
标签
检索增强生成retrieval augmented generation知识库问答RAG