2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

一文读懂RAG(检索增强生成)

发布日期:2024-08-08 17:19:14 浏览次数: 4566
作者:产品曼巴

微信搜一搜,关注“产品曼巴”


一、前言
近阶段,笔者落地了一个蛮深刻的项目,该项目通过RAG技术成功解决了一些问题。因此计划通过两篇文章跟大家分享有关RAG结合ToB Agent应用的探索与实践。
本篇文章,主要关于笔者对RAG(围绕Navie RAG)的些许理解。
二、RAG是什么?

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与自然语言生成的技术,通过检索外部知识库增强文本生成能力。

听起来有点复杂,我们不妨从为什么需要用到RAG开始。

为什么需要用到RAG

随着近两年LLM(以下统称为大模型)不断地发展,大模型逐渐成为了我们日常办公场景中不可缺少的一环。但在使用过程中,会发现几个问题:
  • 知识局限性问题:通用的大模型没有企业内部数据和用户数据,将私域数据上传第三方平台进行训练,存在着数据泄露的风险。从而导致大模型对一些内部数据无从学习,并不具备某一方面的知识,存在局限性。
  • 幻觉问题:大模型底层的设计机制决定了它所生成的回答本质是基于概率而非既定事实的,导致只要大模型生成内容是符合它自己的语言逻辑的,就算内容与事实差了十万八千里,它也会毫不犹豫地输出。
  • 时效性问题:模型知识的获取是通过使用训练数据集训练获取的,模型训练后产生的一些新知识,是没有学习的,而大模型训练成本极高,不可能为了弥补知识而频繁进行模型训练。
本质来看,大模型输出的结果都是以过去的公共数据进行归纳推理,没有“固定的知识”。那么假如我们给它外挂上一个“知识库”,是否就能解决这类问题呢?简单举个例子:
我们问大模型“请帮我简单总结一下今天的工作”。很明显大模型在一本正经地胡说八道,因为它并不了解我今天具体做了什么。
▲没有带上“固定知识”的提问
但我们把今天的工作内容作为上下文结合到Prompt中,输入给大模型。大模型便能基于我们提供的内容进行针对性的回复。
带上“固定知识”的提问
那是否意味着,我们可以把整个知识库都发送给大模型进行处理呢?
这是一个方法,比方说通过长上下文的方式,但目前来看并不是最优解,一个原因是模型一次接收的信息仍然是有限的(目前普遍最多支持128K)。第二个原因是发送大量的上下文内容所需的消耗成本远大于短文本。最重要的原因是,输入大模型的内容过于广泛,大模型处理的效果会愈发不准确
因此我们需要先对知识内容进行预处理,这里就引入了RAG的技术。

大白话解释RAG

简单理解,在向大模型提问前,我们需要预先对大量私有化知识内容进行梳理,提取(检索)出与提问相关的知识内容后整合到Promt中再向大模型提问,让大模型围绕“固定的知识”进行针对性回答。从而提升模型输出内容的准确性和可靠性(增强生成),如下图所示。

▲RAG的大致流程

三、RAG流程

RAG的重点之一在于如何对知识内容进行检索,比如说:关键词检索、相似度检索。

1、关键词检索

顾名思义就是我们日常工作中常见的检索方式,比如:通过输入订单标题关键词,模糊检索到订单信息。对于部分场景而言,使用关键词检索会高效快速得多

▲关键词检索的示例

2、相似度检索

使用各种不同的相似度算法(如欧氏距离、余弦等)进行数据检索的一种技术。简单理解,就是把问题Embedding为向量,去向量数据库中匹配与此问题相似度最高的几个内容片段。

相似度检索是RAG中常用的检索方式,接下来我们展开说说如何利用相似度检索完成RAG的整个过程。

a)知识分块处理

首先对数据库中的内容进行处理,比方说:把非文本形式的数据转换为标准的纯文本数据。然后将知识内容进行分块,切分成更短的段落或句子,以便更有效地进行处理。其中知识分块的策略会对最终知识片段的检索起到重要的影响

▲知识切分

b)知识向量化存储

把分成小块的知识片段通过一个嵌入模型(Embedding Model)转换成文本向量后创建索引并存储于向量数据库。向量通常会以数字的形式存储于一个多维空间中。
▲向量嵌入与存储
c)问题处理
当用户提问时,问题将通过和知识分块相同的嵌入模型与转换规则转化成查询向量,以保证问题和知识片段在相同的向量空间里,其中向量间的距离可以反映文本之间的语义相似度。
▲问题向量化

d)向量检索

被转换成向量的问题与向量数据库中存储的知识向量进行比较,找出与查询向量最相似的知识片段,这一步骤通常通过计算向量之间的距离(如余弦距离、欧氏距离等)来实现。

▲向量的相似度检索
e)大模型处理

提取相似度得分最高的几个知识片段,这些内容可以作为额外的上下文信息,结合用户的原始提问构建成Prompt后,输入给大模型进行处理。

f)回答

将大模型输出的问题结果返回给用户。这个答案是从知识库中检索到的最相关信息生成,确保了准确性和相关性。

总结来看,整个RAG流程大致如下图所示。
▲RAG的完整流程

四、RAG存在的挑战

虽说 RAG 能够解决在大模型使用过程中遇到的部分问题,但它仍存在方方面的挑战,比如:

1、索引阶段

Naive RAG在编制索引时,可能无法有效处理非结构化文件中的图像、表格等信息,导致信息提取不完整。其次用简单的知识分块策略,可能会导致重要信息被分割在不同的知识块中,从而影响检索效果 。

2、检索阶段

使用用户原始提问做检索,可能会存在意图识别不明确(当遇到含糊或过于简短的用户查询时),这就导致用户提问和知识索引不能很好的匹配,检索质量比较差。又比如采用单一的检索方法,没有融合关键词、语义和向量等多种检索技术组合,也会一定程度上影响到检索效果。

3、生成阶段

大模型可能无法将检索到的上下文与当前的生成任务有效整合,导致输出结果不一致或相关性不高。其次在生成过程中过度依赖检索到的信息,导致生成的内容只是重复输出检索到的内容,而没有提供新的价值或综合信息。
为了解决上述存在的挑战,RAG技术也在持续地发展和优化中,比方说衍生出了高级RAG(Advanced RAG)模块RAG(Modular RAG)等解决方案(本文不做细说)。

五、结语

作为AIGC应用方,通常以集成第三方向量数据库为主,这意味着把RAG技术应用在实际业务当中相对比较容易,但想做好仍然有很多的困难需要克服,每个步骤都有可能对最终效果产生影响。

下一篇文章,将通过一个案例与大家分享RAG在ToB Agent的探索与实践。

以上是笔者近阶段的学习与思考,希望能帮到你。








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

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

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

联系我们

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

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅