一、RAG是什么
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合检索技术与生成模型的技术架构,旨在通过动态引入外部知识库增强大语言模型(LLM)的生成能力。其核心思想是通过检索系统从外部数据源(如企业知识库、实时文档等)获取相关信息,并将检索结果作为上下文输入生成模型,以提高生成答案的准确性、时效性和专业性
简单总结:RAG(检索增强生成)=检索技术+LLM 提示
二、RAG的5个基本流程
RAG可分为5个基本流程:(1)知识文档的准备;(2)嵌入模型(embedding model);(3)向量数据库;(4)查询检索;(5)生成回答。
1.知识文档的准备
在构建一个高效的RAG系统时,首要步骤是准备知识文档。现实场景中,我们面对的知识源可能包括多种格式,如Word文档、TXT文件、CSV数据表、Excel表格,甚至是PDF文件、图片和视频等。
因此,第一步需要使用专门的文档加载器(例如PDF提取器)或多模态模型(如OCR技术),将这些丰富的知识源转换为大语言模型可理解的纯文本数据。 例如,处理PDF文件时,可以利用PDF提取器抽取文本内容;对于图片和视频,OCR技术能够识别并转换其中的文字信息。
此外,鉴于文档可能存在过长的问题,我们还需执行一项关键步骤:文档切片。我们需要将长篇文档分割成多个文本块,以便更高效地处理和检索信息。 这不仅有助于减轻模型的负担,还能提高信息检索的准确性。
2.嵌入模型
嵌入模型的核心任务是将文本转换为向量形式,我们使用的日常语言中充满歧义和对表达词意无用的助词,而向量表示则更加密集精确,能够捕捉到句子的上下文关系和核心含义。
这种转换使得我们能够通过简单计算向量之间的差异来识别语义上相似的句子。嵌入模型是连接用户查询和知识库的桥梁,确保了系统回答的准确性和相关性。
3.向量数据库
向量数据库是专门设计用于存储和检索向量数据的数据库系统。在RAG系统中,通过嵌入模型生成的所有向量都会被存储在这样的数据库中。
这种数据库优化了处理和存储大规模向量数据的效率,使得在面对海量知识向量时,我们能够迅速检索出与用户查询最相关的信息。
4.查询检索
经过上述几个步骤的准备后,我们就可以开始处理用户查询了。首先,用户的问题会被输入到嵌入模型中进行向量化处理。然后,系统会在向量数据库中搜索与该问题向量语义上相似的知识文本或历史对话记录并返回。
5.生成回答
最终通过构建一个提示模版将用户提问和上一步中检索到的信息结合,得到增强的prompt,输入到大语言模型中,静待模型输出答案即可。
三、RAG的核心特点
- 动态知识增强:通过外部数据弥补LLM训练数据的时效性与专业性不足,支持实时更新知识库 。
- 减少幻觉与偏差:依赖权威外部数据生成答案,降低模型虚构内容的概率。
- 数据隐私保护:私有数据无需参与模型训练,直接通过检索增强,保障企业数据安全 。
- 灵活性与低成本:相比微调,RAG无需修改模型参数,适用于快速迭代和多领域适配 。
- 效果依赖多因素:检索质量、分块策略、嵌入模型性能等均影响最终生成结果 。
四、为什么需要 RAG 技术?
1. 传统语言模型的局限性
传统的语言模型,比如 GPT-3,虽然在生成文本方面表现出色,但它们有一个显著的局限性:它们依赖于预训练的参数,无法动态访问外部知识。这意味着这些模型在处理实时信息、领域特定知识或罕见实体时表现不佳。举个例子,在问答任务中,模型可能会生成不准确或过时的答案,因为它无法访问最新的数据。就像你问一个朋友“今天天气怎么样?”,但他只能告诉你去年的天气情况,显然这样的信息对你来说毫无用处。
这种局限性在需要精确答案的场景中尤为明显。例如,在医疗领域,医生可能需要最新的研究数据来做出诊断,而传统的语言模型无法提供这些信息。同样,在法律领域,律师需要引用最新的法律条文,而模型只能基于过去的知识生成答案,这显然是不够的。
2. 检索增强生成(RAG)的诞生
为了解决传统语言模型的局限性,检索增强生成(Retrieval-Augmented Generation, RAG)技术应运而生。RAG 通过将大规模检索系统与生成模型相结合,解决了传统模型的局限性。它能够动态地从外部知识源(如文档、数据库或结构化数据)中检索信息,并在生成过程中利用这些信息,从而生成更准确、上下文相关的输出。
这种结合不仅提升了模型的性能,还使其能够处理更复杂的任务,如多跳推理和跨领域知识整合。举个例子,如果你问 RAG 模型“量子计算的最新进展是什么?”,它可以从最新的研究论文中检索相关信息,并生成一个基于这些信息的详细答案。这种能力使得 RAG 在需要精确和实时信息的场景中表现出色。
3. RAG 的应用场景
RAG 技术在多个领域展现了巨大的潜力,尤其是在问答、摘要生成和信息检索等任务中。例如,在开放域问答中,RAG 模型能够从海量文档中检索相关信息,生成更精确的答案;在文档摘要任务中,它能够利用外部文档生成更丰富、更全面的摘要。此外,RAG 还在对话系统、知识图谱构建等领域展现了强大的能力。
在医疗领域,RAG 可以帮助医生快速检索最新的研究数据,辅助诊断和治疗决策。在法律领域,律师可以使用 RAG 来检索最新的法律条文,确保他们的法律建议是最新和准确的。在教育领域,RAG 可以为学生提供个性化的学习材料,帮助他们更好地理解复杂的概念。
总的来说,RAG 技术通过结合检索和生成的能力,解决了传统语言模型的局限性,使其在多个领域中表现出色。无论是需要实时信息的问答任务,还是需要精确答案的领域特定任务,RAG 都能提供强大的支持。
五、RAG 技术解析
1. 核心组件:检索与生成
RAG(Retrieval-Augmented Generation,检索增强生成)的核心思想是将检索和生成两个过程紧密结合。首先,模型根据输入查询从外部知识源中检索相关信息;然后,生成模型利用检索到的信息生成最终的输出。这种动态的知识整合机制使得 RAG 模型能够在生成过程中实时访问外部知识,从而提升输出的准确性和相关性。
举个例子,假设你问一个 RAG 模型:“谁发明了电话?”模型会首先从外部知识库中检索与“电话发明”相关的文档或段落,然后基于这些信息生成一个准确的答案:“亚历山大·格拉汉姆·贝尔发明了电话。”这种结合检索和生成的方式,使得 RAG 模型在处理需要外部知识的任务时表现尤为出色。
2. 检索机制:从海量数据中找到关键信息
检索机制是 RAG 的关键部分。它需要从庞大的知识库中快速找到与查询最相关的信息。常用的检索方法包括基于关键词的稀疏检索(如 BM25)和基于语义的稠密检索(如 DPR,Dense Passage Retrieval)。稠密检索通过将查询和文档映射到同一向量空间,利用向量相似度(如余弦相似度)来找到最相关的文档。
例如,如果你问:“什么是量子计算?”稀疏检索可能会通过匹配关键词“量子”和“计算”来找到相关文档,而稠密检索则会通过语义理解,找到与“量子计算”概念相关的文档,即使这些文档中没有直接出现“量子”或“计算”这两个词。
3. 生成过程:结合内部与外部知识
生成过程不仅依赖于模型的内部知识,还结合了检索到的外部信息。模型通过“去噪”和“推理”两个步骤来处理检索到的信息。去噪步骤过滤掉不相关或矛盾的信息,确保生成的内容基于可靠的来源;推理步骤则帮助模型从多个信息源中提取逻辑关系,生成连贯的答案。
例如,当模型检索到多篇关于“量子计算”的文档时,去噪步骤会排除那些与主题无关或信息不准确的文档,而推理步骤则会从剩下的文档中提取关键信息,生成一个全面且逻辑清晰的答案。
4. 知识整合:如何将外部知识融入生成
知识整合是 RAG 的另一个关键步骤。它可以通过多种方式实现,例如在输入层直接将检索到的文档与查询拼接,或在中间层通过注意力机制将外部知识融入模型的隐藏状态。不同的整合策略适用于不同的任务需求,选择合适的策略可以显著提升模型的表现。
例如,在输入层整合时,模型会将检索到的文档与查询一起输入生成模型;而在中间层整合时,模型会在生成过程中动态调整注意力机制,确保外部知识能够被有效利用。这种灵活的知识整合方式,使得 RAG 模型在处理复杂任务时能够更加精准地生成答案。
六、RAG的分类
- 按架构复杂度
- 原始RAG(Naive RAG):基础流程(索引-检索-生成),易受低质量检索影响。
- 高级RAG(Advanced RAG):引入预检索优化(数据清洗、元数据过滤)、检索增强(混合搜索、重排序)及生成控制(动态提示)。
- 模块化RAG:灵活组合功能模块(如验证模块、记忆模块),支持端到端训练或定制化流程。
- 按应用场景
- 多模态RAG:整合文本、图像、音频等多模态数据检索与生成。
- 图RAG:基于知识图谱建模实体关系,优化多跳推理问题。
- 代理RAG:通过路由策略动态选择处理模块,或结合多代理协作处理复杂任务。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。