免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


小白也能轻松看懂的RAG!!!

发布日期:2025-08-23 07:54:34 浏览次数: 1521
作者:coting

微信搜一搜,关注“coting”

推荐语

RAG技术让大模型变身"文档小助手",轻松解决新人入职面对海量资料的困扰。

核心内容:
1. RAG技术原理:检索-增强-生成三步骤解析
2. 文档处理关键环节:智能分片与向量化技术
3. 实际应用场景:帮助新人快速掌握公司内部知识

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家


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的所有内容啦!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询