微信扫码
添加专属顾问
掌握RAG工作流程优化,提升检索增强生成性能。 核心内容: 1. RAG工作流程的详细划分和各部分优化方法 2. 预检索、检索和后检索阶段的关键技术和策略 3. 增强数据粒度、数据清理和元数据添加等优化技巧
首先,我们将 RAG 工作流程分为三个部分,以增强我们对 RAG 的理解,并优化每个部分以提高整体性能:
在预检索步骤中,需要准备LLM 原始训练数据集之外的新数据(也称为外部数据) ,并将其拆分成块,然后使用向量模型对块数据进行索引,该模型将数据转换为数值表示并将其存储在向量数据库中,此过程创建了 LLM 可以理解的知识库。
RAG 中的预检索
在最重要的检索步骤中,用户查询被转换为称为嵌入的向量表示,并使用余弦相似度从向量数据库中找到相关块。这会尝试从向量存储中找到高度相关的文档块。
接下来,RAG 模型通过在上下文(查询 +上下文)中添加相关检索数据来增强用户输入(或提示)。此步骤使用提示工程技术与 LLM 进行有效沟通。增强的提示允许大型语言模型使用给定的上下文生成对用户查询的准确答案。
RAG 中的检索和后检索
我们的目标是通过将各种技术应用于不同部分来增强 RAG 工作流程的每个组件。
预检索技术包括提高索引数据的质量和块优化。此步骤也可以称为增强语义表示。
提高数据质量
‘Garbage in, garbage out’
数据清理在 RAG 框架中起着至关重要的作用。RAG 解决方案的性能取决于数据的清理和组织程度。删除不必要的信息,例如特殊字符、不需要的元数据或文本。
添加元数据
添加元数据,例如概念和级别标签,以提高索引数据的质量。
添加元数据信息包括将引用的元数据(例如日期和目的)集成为块以便进行过滤,以及合并参考文献的章节和小节等元数据以提高检索效率。
以下是元数据有用的一些场景:
元数据很有用,因为它在向量搜索上带来了额外的结构化搜索层。
优化索引结构
知识图谱或图神经网络索引利用,图数据索引中节点之间的关系,整合图结构中的信息来捕获相关上下文。
向量索引
选择正确的 chunk_size 是一个关键的决定,它可以通过多种方式影响 RAG 系统的效率和准确性:
相关性和粒度
chunk_size(如 128)可产生更细粒度的块。然而,这种粒度存在风险:重要信息可能不在检索到的顶部块中,尤其是当 similarity_top_k 设置严格到 2 时。相反,512 的块大小很可能包含顶部块中的所有必要信息,从而确保查询的答案随时可用。响应生成时间
随着 chunk_size 的增加,输入到 LLM 以生成答案的信息量也会增加。虽然这可以确保更全面的背景信息,但也可能会降低系统速度。
挑战
如果您的块太小,它可能不包含 LLM 回答用户查询所需的所有信息;如果块太大,它可能包含太多不相关的信息,使 LLM 感到困惑,或者可能太大而无法适应上下文大小。
任务特定分块
根据下游任务需要确定块的最佳长度以及每个块希望有多少重叠。
分块技术
Small2big 或父文档检索
通过拆分和存储小块数据来实现 ParentDocumentRetriever 平衡。在检索过程中,它首先获取小块,然后查找这些块的父 ID,并将这些较大的文档返回给 LLM。
它在初始搜索阶段利用小文本块,随后将更大的相关文本块提供给语言模型进行处理。
递归检索涉及在初始检索阶段获取较小的块以捕获关键的语义含义。随后,在流程的后期阶段,将包含更多上下文信息的较大块提供给 LLM。这种两步检索方法有助于在效率和提供丰富的上下文响应之间取得平衡。
步骤:
Small2big 或父文档检索分块技术
句子窗口检索
这种分块技术与上面的非常相似。句子窗口检索背后的核心思想是根据查询从自定义知识库中选择性地获取上下文,然后利用该上下文的更广泛版本来生成更强大的文本。
此过程涉及嵌入一组有限的句子以供检索,这些句子周围的附加上下文(称为“窗口上下文”)被单独存储并与它们链接。一旦确定了最相似的句子,就会在将这些句子发送到大型语言模型 (LLM) 进行生成之前重新整合此上下文,从而丰富整体上下文理解。
解释句子窗口检索的工作原理
RAG 中的句子窗口检索分块技术
这是 RAG 工作流中最重要的部分,包括根据用户查询从向量存储中检索文档。此步骤也可以称为对齐查询和文档。
查询重写是对齐查询和文档的语义的基本方法。
在此过程中,我们利用语言模型 (LLM) 功能重新表述用户的查询并再次尝试。需要注意的是,两个在人类看来可能相同的问题在嵌入空间中可能看起来并不相似。
多查询检索方法利用 LLM 针对给定的用户输入查询从不同角度生成多个查询,有利于解决具有多个子问题的复杂问题。
对于每个查询,它会检索一组相关文档,并对所有查询进行唯一联合以获得一组更大的潜在相关文档。
通过对同一个问题产生多种观点,多查询检索器可能能够克服基于距离的检索的一些限制并获得更丰富的结果。
多查询检索器
两者皆可海德和查询到文档是类似的查询重写优化。鉴于搜索查询通常很短、含糊不清或缺乏必要的背景信息,LLM 可以提供相关信息来指导检索系统,因为它们通过对数万亿个标记进行预训练来记忆大量的知识和语言模式。
标准方法和HyDE方法之间的差异
提示StepBack 提示该方法鼓励语言模型超越具体的例子来思考,并关注更广泛的概念和原则。
此模板复制了“后退”提示技术,该技术通过首先提出“后退”问题来提高复杂问题的表现。此技术可以与标准问答 RAG 应用程序结合使用,通过检索原始问题和后退问题的信息。以下是后退提示的示例。
微调嵌入模型会显著影响 RAG 系统中检索内容的相关性。此过程涉及自定义嵌入模型以增强特定领域上下文中的检索相关性,尤其是对于处理不断发展或罕见术语的专业领域。
这里的关键思想是,可以使用 GPT-3.5-turbo 等语言模型生成用于微调的训练数据,以基于文档块提出问题。这使我们能够以可扩展的方式生成合成的正对(查询、相关文档),而无需人工贴标。最终数据集将是问题和文本块的对。
在生成的训练数据集上微调任何嵌入模型
使用 GPT 通过合成生成的数据集微调嵌入模型
RAG系统通过智能地集成基于关键字的搜索、语义搜索和向量搜索等各种技术来优化其性能。这种方法充分利用了每种方法的独特优势,以适应不同的查询类型和信息需求,确保始终如一地检索高度相关且上下文丰富的信息。混合搜索的使用是对检索策略的有力补充,从而提高了 RAG 流程的整体效率。
最常见的模式是将稀疏检索器(如 BM25)与密集检索器(如嵌入相似性)相结合,因为它们的优势是互补的。这也被称为“混合搜索”。稀疏检索器擅长根据关键字查找相关文档,而密集检索器擅长根据语义相似性查找相关文档。
在将检索结果发送到 LLM 之前对其进行重新排序显著提高了 RAG 性能。向量相似性搜索中的高分数并不意味着它总是具有最高的相关性。
核心思想是通过重新排列文档记录,将最相关的内容放在最前面,从而限制文档的总数,不仅解决了检索过程中上下文窗口扩展的问题,还提高了检索效率和响应速度。增加查询引擎中的similarity_top_k来检索更多的上下文段落,重新排名后可以减少到top_n。
使用 Cohere Reranker 对检索到的文档进行重新排序
检索到的文档中的噪声会严重影响 RAG(Retrieval-Augmented Generation) 的性能。因此,与查询最相关的信息可能被埋藏在大量无关文本中。将整个文档传递到应用程序中可能导致更昂贵的大语言模型(LLM)调用,并生成质量较差的响应。在这种情况下,重点在于压缩无关上下文、突出关键段落,以及减少整体上下文长度。
上下文压缩旨在解决这一问题。其核心思想很简单:不是直接返回检索到的原始文档,而是根据给定查询的上下文对文档进行压缩,从而仅返回相关信息。这里的“压缩”既指压缩单个文档的内容,也包括完全过滤掉不相关的文档。
上下文压缩
Doc Compressor 是一种小型语言模型,用于计算用户查询和检索到的文档之间的提示互信息(prompt mutual information),从而评估各个元素的重要性。
模块化 RAG 通过整合多种方法来增强 RAG 的不同组件。例如,引入搜索模块以进行相似性检索,并在检索器中应用微调方法以提高性能。
RAG 融合结合了两种方法:
多查询检索 (Multi-Query Retrieval) 利用大语言模型 (LLMs) 从不同角度为给定的用户输入查询生成多个查询。这种方法在处理包含多个子问题的复杂问题时具有优势。
重排序检索文档 (Rerank Retrieved Documents) 对所有检索到的文档进行重新排序,并移除相关性得分较低的文档,从而提升结果的质量。
图片所示技术确保了搜索结果能够匹配用户的意图,无论是显而易见的还是隐含的。它帮助用户找到更具洞察力和相关性的信息。
本文讨论了优化 RAG 管道各个部分并增强整体 RAG 性能的各种技术。你可以在 RAG 管道中使用其中一种或多种技术,使其更加准确和高效。希望这些技术能够帮助你为你的应用程序构建一个更强大的 RAG 管道。
参考资料:https://luv-bansal.medium.com/advance-rag-improve-rag-performance-208ffad5bb6a
文章到此还没完,感觉上面是比较常见的内容,下面继续分享同济大学 Haofen Wang的关于检索增强生成的报告:《Retrieval-Augmented Generation (RAG): Paradigms, Technologies, and Trends》 ,RAG 范式、技术和趋势。
温故而知新!https://raw.githubusercontent.com/Tongji-KGLLM/RAG-Survey/main/assets/RAG_Slide_ENG.pdf
RAG (检索增强生成)的出现主要是因为传统的LLM存在一些不足之处:
对于企业应用来说,还需要综合考虑:
因此,RAG的核心思想是:在生成答案时,首先从大量文档中检索相关信息,再基于这些信息进行答案生成。通过附加外部知识库,避免了为每个特定任务重新训练整个大型模型。这使得RAG特别适用于知识密集型任务。
RAG与Fine-tuning (FT) 的比较:
RAG和FT不是互相排斥的,而是互补的。结合使用可以提升模型的整体性能。
RAG 非常适合以下场景:
RAG可以分为三种范式:
关于检索什么层级的内容,我们可以从检索粒度的粗细,以及数据结构化的高低来看业界研究结果。
X轴结构化从低到高,Y轴从精细到粗粒度。 三个代表:
如何使用检索到的内容 在推理过程中,将检索到的信息集成到生成模型的不同层中
检索的时机
按照检索的频率从低到高,有:
RAG 技术发展树
核心就是数据很多,通过meta过滤,可以减少范围,提高精度。
可以通过以下方式进行检索:
RAG和Fine-tuning可以结合使用,以更好地生成和检索答案。
相关研究总结
检索质量:
生成质量:
当前有流行的开发框架,如LangChain、LlamaIndex、AutoGen,方便开发RAG应用。
在工业界,许多应用已经开始使用RAG技术。
工业界也有很多RAG应用。
将RAG从文本扩展到多模态
扩展RAG下游任务,改善生态建设
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-05
AI 知识库为什么总答不准?不是模型笨,是资料没整理好
2026-07-05
AI知识库RAG演进:上一代解决「找得到」,下一代解决「记得住、连得起、信得过」
2026-07-04
大模型支持的上下文已超 1M, RAG 是不是没有意义了?
2026-07-03
RAG 检索优化策略:从命中率到答案质量的一套工程打法
2026-07-03
RAG 落地总翻车?全球赛事冠军架构,改造适配企业级生产
2026-07-01
提升 RAG 准确率全攻略 让你的 AI 知识库 真正靠谱起来!
2026-06-30
教程:如何用AutoRAG + Milvus避免RAG 与Agent 中出现串租问题
2026-06-30
知识库不是文件堆——我把RAG准确率从60%调到了92%
2026-04-27
2026-04-23
2026-04-20
2026-04-09
2026-04-12
2026-04-22
2026-04-10
2026-05-14
2026-04-30
2026-04-27
2026-07-04
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。