收藏!一文彻底搞懂RAG技术,看完你的大模型水平提升300%
文章介绍了RAG(检索增强生成)技术,它通过分片处理文档、embedding模型向量化、向量数据库存储、召回重排检索相关内容,最终将问题与相关内容合并输入大模型生成答案。这一流程使大模型能够突破输入长度限制,访问外部知识库,回答原本不知道的问题,提高回答准确性和可靠性。
1. 引言
你刚刚入职,准备在公司大展拳脚,让同事们见识一下新人的能力,于是你主动去问领导有没有什么学习资料,领导非常高兴,给了你一大堆祖传文档让你自己去看。
你看了一天才看完一个屎山文档,还剩下一大堆文档等着你去看,你顿时感觉到无从下手,总不能把美好的生命都浪费在看这些屎山文档上吧。这时你忽然想起来,现在不是有大模型嘛,直接问大模型不就好啦,于是你满怀期待的把问题丢给无所不能的大模型,但是得到的回答只是冰冷的我不知道,你顿时又感觉好无助。
这个时候聪明的你又想了,如果我把领导给我的一大堆文档一块交给大模型,大模型不就知道了,但是文档太多了,大模型的输入长度又有限制,有没有什么办法能够让大模型自己去文档里找答案呢?
这个时候就有人大喊了一声,哎,有的有的,这也就是我们今天的主角——RAG,RAG全称Retrieval Augmented Generation,检索增强生成,它给了大模型读取外部知识的能力,如果大模型本身不知道,那他就会自己去外部知识库中查找,是不是有点像我们人类的逻辑了,下面我们就来看看RAG是怎么工作的。
2. RAG综述
有了RAG之后,当你再去问大模型一个问题的时候,如果大模型不知道,那么它就会主动去查找,他去哪里找呢?没错,就是去我们给他的文档里,查找到相关的内容之后,大模型就会知道之前不知道的信息,这一步也就是RAG中的R(检索)。
拿到检索得到的结果之后,大模型会把你一开始的问题和检索得到的内容进行合并,作为一个完整的prompt输入给大模型,这一步就是RAG中的A(增强)。
最后大模型根据完整的prompt生成答案,也就是RAG中的G(生成)。
3. RAG工作原理
3.1 分片
那么问题来了,我们把领导给我们的文档放在哪里呢?又怎么把和问题相关的内容检索出来呢?我们都知道,一个文档有很多片段组成,但是和我们的问题相关的可能也就两三个,我们最终的目的是把和我们问题有关的内容让大模型知道,因为无关的内容只会加重大模型的幻觉,让大模型胡言乱语。
那么我们在处理文档的时候就要把文档划分为一小块一小块的内容,这个过程就是分片,一个文档可以被分为若干个片段,分片的方法有很多种,比如按字数分,按段落分,按章节分,和按页码分。
3.2 向量化
分完片之后我们是不是要把它存在一个地方,如果文档太多直接存在数据库会对数据库造成很大的压力,成本也会提高,这个时候就需要一种技术能够把文本进行压缩。没错,这个方法就是索引,在创建索引的时候,我们用到了一个非常重要的工具——embedding模型,那么什么是embedding模型呢?
当你输入一段文本,embedding模型可以把输入的文本转换成一个固定长度的数字向量,无论你输入的是长篇大论的文档,还是一两句话,模型都会把输入的内容转换为固定长度的数字向量。
对于意思相近的两句话,embedding输出的向量是相近的,直观一些,我们在二维上举例,如果两句话意思相近,那么他们所在的位置也就越近,反之也就越远。
Embedding模型把文本编码成为向量之后,这时候就出现了一个新角色,向量数据库,不同于普通数据库,向量数据库实现了丰富的向量操作,比如相似度计算,top-k查询等等,我们把文本和向量存储到数据库中。
3.3 召回
这个时候我们也就解决了第一个问题,存是存好了,光存在那没用呀,把和我们的问题相关的内容检索出来交给大模型才有用,那么怎么把和问题相关的内容检索出来呢?这里就用到了召回+重排。
我们先来看召回,当用户提出问题的时候,我们用和之前相同的embedding模型,把问题编码成对应的向量,拿着这个向量,我们就可以去向量数据库中查找和我们的问题相关的内容,怎么查找和问题相关的内容呢?这里就可以使用我前面提到的向量数据库的内置功能,向量相似度和top-k查询,最终我们返回K个最相关的内容,这个过程就是召回。
3.4 重排
召回完了不就得到了我们想要的相关内容了嘛?直接交给大模型不就行了,要重排干什么呢?这是因为召回只是把最相关的k个查询出来,但是他们之间是没有一个先后顺序的,甚至有的还是没有关系的,所以重排这个时候就可以帮助我们更加精细的筛选出相关的内容。
如果对比一下召回和重排,召回的成本要低于重排,因为重排的计算更加复杂;同时,召回的耗时也就低于重排;但是重排的准确率要远远高于召回,这也是我们为什么要召回之后再使用重排的原因,能够减少成本和耗时的同时,提升准确率。
这个时候也就回答了第二个问题,现在相关内容也查找出来了。
3.5 生成
没错,最后一步就是生成,我们把最开始的问题和重排之后得到的相关内容合并,一起输入给大模型,大模型这个时候就知道了原来不知道的内容,就像开了个外挂,也就能够回答最开始不知道的问题。
4. 总结
最后我们再来回顾一下RAG的整体流程,首先外部文档进行分片,便于后续存储和检索,之后把分片之后的文档输入embedding模型,embedding模型把他们编码成固定长度的向量存储到向量数据库中,当用户提出问题时,会用相同的embedding模型把问题编码成固定长度的向量,之后把问题向量和向量数据库中所有向量进行比较,进行召回和重排之后得到相关的内容,最后,把用户最开始的问题和得到的相关内容合并一块输入给大模型,大模型就能生成用户想要知道的答案啦!
以上就是RAG的所有内容啦!
普通人如何抓住AI大模型的风口?
领取方式在文末
为什么要学习大模型?
目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
最后
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。
希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容
-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
vx扫描下方二维码即可
本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:
04 视频和书籍PDF合集
从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)
新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!
06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)
07 deepseek部署包+技巧大全
由于篇幅有限
只展示部分资料
并且还在持续更新中…
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。
更多推荐
所有评论(0)