学习目标:
- 掌握 RAG的作用
- 熟悉 RAG的工作流程
1、LLM 是什么
说RAG 之前,我们先了解一下LLM是什么?
LLM = Large Language Model,大语言模型 就是用海量文本、超大参数训练出来的 AI 模型,能理解、生成、翻译、总结人类语言。 其核心能力就是:理解人类的语言,生成可读的文本信息,拥有逻辑推理、代码、文案、问答的技能。
LLM能在海量数据中查到用户想要的数据,但是他也有自身的缺陷:
-
幻觉现象 是指模型生成的内容看似合理,但实际与事实不符、逻辑错误或缺乏真实依据的现象
- 原因:
- 训练数据噪声:模型从海量文本中学习,但数据本身包含错误、偏见或虚构内容(例如网络谣言、小说情节),模型可能误将其视为真实知识。
- 概率优先而非真实性:模型目标是生成“最符合上下文概率分布”的文本,而非追求事实正确性。当缺乏明确答案时,模型倾向于用高频词汇或合理句式“填补空白”(做填词游戏)。
- 原因:
-
LLM知识更新缓慢
-
LLM对领域知识的理解有限: 在一些较为浅显的领域,大型语言模型可能通过之前的大量训练数据获得了相应的能力。但当涉及到更深层次的专业领域时,这些模型往往会出现所谓的“幻觉”问题,即生成的信息可能偏离事实或专业知识的真实性。
- 原因:
- 训练数据的覆盖广度与深度矛盾(广度优先 ):LLM的训练数据覆盖全网公开文本(书籍、网页、论文等),但领域知识往往分布稀疏
- 原因:
至此,RAG 横空出世!
2、RAG的概念
RAG的初衷是为了增强大模型的事实性,时效性,减少幻觉,引入专业知识优化生成回复
- RAG(Retrieval Augmented Generation)顾名思义,通过检索外部数据,增强大模型的生成效果。
- 类比:你可以把这个过程想象成开卷考试。让LLM先翻书,再回答问题。
- 举例: 我想询问LLM有关于我公司内部的请假流程它肯定不知道,但是我把公司的员工手册先给它看,当我在询问的时候他就会知道
3、RAG系统工作流程图解
论文地址https://arxiv.org/pdf/2312.10997
可以看出,它主要包括三个步骤:
- 索引化: 将文档切分成片段,再编码为向量,存储在向量数据库里。
- 检索: 检索到与问题相似度最高的top k 的片段。
- 生成: 将原始问题和检索得到的“块”都作为LLM的输入,令其生成最终的回答。
RAG的研究范式一直在持续演进,我们将其发展过程分为三个阶段:朴素RAG(Naive RAG) 、高级RAG(Advanced RAG) 和 模块化RAG(Modular RAG)
- (左)朴素RAG主要由三部分组成:索引、检索 和 生成 。
- (中)高级RAG围绕预检索和后检索提出了多种优化策略,其过程与朴素RAG相似,仍遵循链式结构。
- (右)模块化RAG在前一范式的基础上继承和发展,整体上展现出更大的灵活性。这体现在引入了多个特定功能模块以及对现有模块的替换。整个过程不限于顺序检索和生成;它包括迭代和自适应检索等方法。
模块化RAG:用是通过将检索过程拆分为多个独立且可灵活组合的模块,针对性优化不同环节,从而解决传统 RAG 的局限性(如检索噪声大(比方文本里面的错别字,一些干扰信息这些)、灵活性低等,以下是其具体作用及优势:
- 分层过滤:将检索拆分为多个模块(例如:粗筛 → 精筛 → 上下文适配),逐步缩小候选范围,减少噪声干扰。
- 动态权重调整:不同模块可针对不同任务分配权重(如法律领域侧重法条精确性,创意写作侧重语义关联性)。
先写到这里吧。下一篇我们来说说RAG的索引流程,和向量的知识。 juejin.cn/post/761843…