【必收藏】深入浅出RAG技术:大模型知识库工作原理解析
RAG技术通过检索增强生成,将外部数据与大模型结合,有效解决大模型幻觉、数据实时性、保密性和可解释性问题。其核心过程包括文本分割、向量化、向量数据库存储、查询处理、相似性检索、结果重排序和答案生成。RAG的核心价值体现在信息增强、领域适配和隐私安全三个方面,为专业场景提供更精准、安全的大模型应用解决方案,是构建本地化知识库的关键技术。
RAG技术通过检索增强生成,将外部数据与大模型结合,有效解决大模型幻觉、数据实时性、保密性和可解释性问题。其核心过程包括文本分割、向量化、向量数据库存储、查询处理、相似性检索、结果重排序和答案生成。RAG的核心价值体现在信息增强、领域适配和隐私安全三个方面,为专业场景提供更精准、安全的大模型应用解决方案,是构建本地化知识库的关键技术。
前排提示,文末有大模型AGI-CSDN独家资料包哦!
上一篇介绍了一下DeepSeek本地化部署的简易架构,对本地知识库的作用也做了一下简要的描述。今天总结一下知识库用到的RAG(Retrieval-Augmented Generation,检索增强生成)技术的工作原理,把知识库这三个字稍微打开一下。图1是RAG技术的一个工作逻辑图,相较于部署架构,增加了1、2、4、5过程描述,增加了一个向量数据库的概念,这些里面涉及的详细技术暂不展开,仍然从应用的角度作一个更加细致的描述,以便于理解其工作的模式和原理。
图1-知识库(RAG)+大模型工作原理
一、RAG技术定义
RAG(Retrieval Augmented Generation),即检索增强生成,是一种将外部数据检索结果与大模型相结合的技术,旨在提升答案的生成能力。主要起到解决以下4个方面的问题:缓解大模型的幻觉问题;确保数据的实时性,因为大模型的训练数据通常是过去的;满足私有数据的保密性要求,确保数据安全;提高答案的可解释性,使答案来源可追溯。
二、RAG技术的主要过程
图2是在图1的基础上,把向量化、向量数据库、相似性查询、Prompt的过程做了进一步细化,更方便理解知识是如何被记录、使用的整个过程。
1. 文本分割(Chunking)
我们日常使用的文件类型像Word,Excel,PDF等文件包含内容丰富,但是这些内容是不能被计算机认识的数据,需要将其转换为计算机可以识别的语言,第一步是将这些文件内容按照文本的格式进行提取,形成一个整体的文本文件。
这一步形成的文本文件通常都比较大,存储、查询都很不方便,并且大模型在识别时也有长度限制,需要将大的文本按照一定的逻辑拆分成一个个小的文本块,方便存储的同时也更便于查找信息。这个步骤像把一本书分成一个一个的章节,甚至细分成一页一页的内容,方便提取每一页、每一章的重点知识。
拆分后的每个文本块需要附带其来源文件的路径、起始行号等元数据,以便于后续检索和定位。
2. 向量嵌入/向量化(Embedding)
文本块分割后按照一定的嵌入模型(BGE、GTE、E5等)进行向量化,一般表示格式像[0.1,1.5,0.6]这样的格式,每一个文本块都会生成一个独立的向量表示,相当于给给个文本块生成了一个特有的“指纹”,方便存储和信息检索。像下面图片中实例的,不同的文本按照语义形成不同的向量表示。
3. 向量数据库存储
文本块向量化后需要找一个地方进行存储,这里就用到向量数据库。向量数据库存储文本块的“指纹”和对应的元数据内容,方便进行查询和检索。
4. 查询向量化
用户在查询时输入问题,问题的内容也是不能被计算机理解的,需要对问题也进行向量化处理,并且使用的是同一个嵌入模型,给问题也生成一个特有的“指纹”,这样就能让问题和知识有了共同语言,方便进行下一步查找工作。
在朴素RAG模型中,往往使用用户输入的原始问题,容易产生问题理解不清楚、与专业领域知识相关性不高、大模型回答质量低等问题,在高级的RAG模型中会对用户输入的问题进行查询扩展、查询转换和查询构建等优化,目的是提高问题回答质量,这些后面有机会再展开讨论。
5. 相似性检索
将问题的指纹和向量数据库中的数据指纹进行比对,找到相关的性最高的N个(N的个数一般在程序中设置)数据。一般会用到近似最近邻搜索(ANN Searh)。
查询阶段共有编码查询(Encoding Queries)、近似最近邻搜索(ANN Search)、索引搜索(Indexing Search)、数据存储检索(Datastore Retrieval)、后处理(Post-Processing)等模式和过程,根据不同的场景会有不同的选择。
6. 结果重排序(Reranking)
这个步骤是后处理阶段的一种方法,根据任务特定目标重新排序检索到的知识,以提高相关性。例如,在信息检索任务中,可以使用学习到的排序模型对检索到的文档进行重新排序,将与用户查询最相关的文档排在前面。相关的技术还有重要性加权(Importance Weighting),为检索到的知识分配重要性权重,过滤掉不太相关的上下文。
以上结果重排序和重要性加权不是非必须的过程,具体使用过程中需要根据场景和模型精度进行调整。
7. 生成答案
将用户的问题和查找到的上下文信息整理好形成新的提示词(Prompt)输入给LLM,LLM依据自己对语义的理解重新整理组合,形成一个结果返回给用户。
三、总结
RAG的核心思想是在文本生成过程中引入外部知识检索机制,核心作用主要体现在以下三个方面:
-
信息增强:补充模型的知识盲区与动态更新。解决时效性问题;填补专业领域空白。
-
领域适配:定制化生成专业内容。术语与上下文适配;场景化输出(如客服对话记录、产品手册)。
-
隐私与安全:数据闭环控制。敏感数据本地化,满足金融、医疗、政务等高规格要求;可控的知识边界,通过限制检索范围(如仅内部文档),减少模型生成无关或错误信息(“幻觉”)的风险,同时避免引用未经授权的外部数据。
文章来自网上,侵权请联系博主
读者福利:倘若大家对大模型感兴趣,那么这套大模型学习资料一定对你有用。
针对0基础小白:
如果你是零基础小白,快速入门大模型是可行的。
大模型学习流程较短,学习内容全面,需要理论与实践结合
学习计划和方向能根据资料进行归纳总结
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
这里我们能提供零基础学习书籍和视频。作为最快捷也是最有效的方式之一,跟着老师的思路,由浅入深,从理论到实操,其实大模型并不难。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
更多推荐
所有评论(0)