欢迎来到阶段三的核心内容——RAG(Retrieval-Augmented Generation,检索增强生成)。这是目前让AI「懂」你的私有数据最主流的技术方案。
如果你曾经困惑:「为什么AI不知道我公司的产品信息?」或「怎么让AI基于我的文档来回答问题?」——RAG就是答案。
为什么需要RAG?
大语言模型虽然强大,但有几个关键局限:
- 知识截止:训练数据有时间限制,不知道最新信息
- 没有私有知识:不了解你的公司、产品、个人数据
- 幻觉问题:可能编造不存在的「事实」
RAG的核心思想很简单:既然LLM不知道,那就先帮它「查资料」,然后让它基于查到的资料来回答。
把RAG想象成「开卷考试」——LLM本来是闭卷答题,容易答错或编造;RAG让它可以先查阅相关资料,再给出答案。
RAG的工作流程
RAG的工作分为两个主要阶段:
- 索引阶段(离线准备):将你的文档切分成小块 → 将每块转换成向量(Embedding)→ 存入向量数据库
- 查询阶段(在线服务):将用户问题转换成向量 → 在向量数据库中找相似内容 → 将找到的内容+问题一起发给LLM → LLM基于这些内容生成回答
[图示:RAG工作流程图]
什么是向量和Embedding?
向量听起来很数学,但概念其实很简单:
Embedding就是把文字转换成一组数字(向量),这组数字能够表达文字的「语义」。
概念示例
"国王" → [0.2, 0.8, 0.1, ...]
"皇帝" → [0.21, 0.79, 0.11, ...] // 与"国王"很接近
"苹果" → [0.9, 0.1, 0.7, ...] // 与"国王"很远语义相近的文字,转换后的向量也会相近。这就是为什么可以用向量来「搜索」——找到与问题语义最相关的内容。
你不需要理解向量的数学原理,只需要知道:Embedding是一种把文字「翻译」成数字的方法,翻译后意思相近的文字会「靠得很近」。
RAG vs 微调:如何选择?
让AI学习新知识有两种主要方法:
- RAG:把知识存在外部,查询时检索。适合知识经常更新、需要引用来源的场景。
- 微调(Fine-tuning):直接修改模型参数。适合需要改变模型行为风格的场景。
对于大多数企业知识库场景,RAG是更好的选择,因为:
- 成本低:不需要训练模型
- 更新快:只需更新向量数据库
- 可追溯:可以显示信息来源
- 无幻觉:回答基于实际文档
本课小结
- ✓RAG解决LLM不知道私有数据和最新信息的问题
- ✓核心思路是「先检索,后生成」,像开卷考试
- ✓Embedding把文字转成向量,语义相近的向量距离近
- ✓RAG比微调更适合知识库场景,成本低、更新快、可追溯
思考与练习
- 想一个你工作中可以用RAG解决的场景
- 尝试理解:为什么「语义搜索」比传统的「关键词搜索」更智能?