news 2026/4/16 10:58:48

大模型RAG | 进阶RAG-提升RAG效果

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型RAG | 进阶RAG-提升RAG效果

在本博客中,我将解决这些挑战,更重要的是,我们将深入研究提高RAG性能的解决方案,使其可用于生产环境。

图片来源:https://arxiv.org/pdf/2401.05856.pdf

我将讨论来自不同研究论文的各种优化技术。这些技术中的大多数将基于我特别喜欢的一篇研究论文,题为“Retrieval-Augmented Generation for Large Language Models: A Survey.”(链接:https://arxiv.org/pdf/2312.10997.pdf)。该论文包含了大部分最新的优化方法。

1. RAG工作流程分解

首先,为了增强对RAG的理解,我们将RAG工作流程分解为三个部分,并对每个部分进行优化以提高整体表现。

  • Pre-Retrieval

在Pre-Retrieval步骤中,准备LLM原始训练数据集之外的新数据(也称为外部数据)并将其分成chunk,然后使用嵌入模型将块数据转换为数字表示并将其存储在向量数据库中。这个过程创建了一个LLM可以理解的知识库。

  • Retrieval

在最重要的Retrieval步骤中,将用户查询转换为称为嵌入的向量表示,并使用余弦相似度从向量数据库中查找相关块。它试图从向量存储中找到高度相关的文档块。

  • Post-Retrieval

接下来,RAG模型通过在上下文(查询+上下文)中添加相关的检索数据来增加用户输入(或提示)。此步骤使用提示工程技术与LLM进行有效沟通。增强的提示允许LLM使用给定的上下文为用户查询生成准确的回答。

  • 目标

我们的目标是通过对不同部分应用各种技术来增强RAG工作流的每个组件能力。

2. Pre-Retrieval优化

Pre-retrieval技术包括提高索引数据的质量和块优化。这个步骤也可以称为增强语义表示

  • 增强数据颗粒度

提高数据质量 “垃圾进,垃圾出”。

数据清洗在RAG框架中起着至关重要的作用。RAG的效果取决于数据清洗和组织的好坏。删除不必要的信息,如特殊字符、不需要的元数据或文本。

  • 删除不相关的文本/文档:删除所有不需要LLM来回答的不相关文档。还要删除噪声数据,这包括删除特殊字符、停止词(如“the”和“a”等常用词)和HTML标记。
  • 识别和纠正错误:包括拼写错误、打字错误和语法错误。
  • 在分块中用名称代替代词,可以提高检索时的语义重要性。
  • 添加元数据

添加元数据,如概念和层级标签,以提高索引数据的质量。

添加元数据信息包括将引用的元数据(如日期和用途)集成到块中以进行过滤,以及将引用的章节和小节等元数据集成到块中以提高检索效率。

以下是元数据有用的一些场景:

  • 如果搜索对象的条件是最近一段时间,那么可以对日期元数据进行排序
  • 如果你搜索科研论文,你事先知道你要找的信息总是位于一个特定的部分,比如实验部分,你可以添加文章部分作为每个块的元数据,并对其进行过滤,只匹配实验部分。

元数据很有用,因为它在向量搜索的基础上又增加了一层结构化搜索。

  • 优化索引结构
  • 知识图或图神经网络索引通过利用图数据索引中节点之间的关系,合并图结构中的信息以捕获相关上下文。
  • 向量索引。

3. 分块优化

选择正确的chunk_size是一个关键的决定,它可以在几个方面影响RAG系统的效率和准确性:

  • 相关性和粒度

较小的chunk_size,如128,产生更细粒度的块。但是,这种粒度存在风险,如重要信息可能不在检索到的最前面的块中,特别是当similarity_top_k设置被限制为2时。相反,块大小为512可能包含顶部块中的所有必要信息,从而确保查询的答案随时可用。

  • 响应生成时间

随着chunk_size的增加,输入LLM生成答案的信息量也会增加。虽然这可以确保更全面的上下文,但它也可能减慢系统响应的速度。

  • 挑战

如果文档块太小,它可能不包含LLM回答用户查询所需的所有信息,如果块太大,则可能包含太多不相关的信息,这会使LLM感到困惑,或者可能太大而无法适应上下文大小。

  • 基于任务的文本分块

根据下游任务需要确定块的最优长度以及每个块有多少重叠。

像文本总结这样的高级任务需要更大的块大小,而像编码这样的低级任务需要更小的文本分块。

4. 分块技术

Small2big or Parent Ducument Retrieval

ParentDocumentRetriever通过分割和存储小块数据来实现这种平衡。在检索过程中,它首先获取小块,然后查找这些块的父id,并将这些较大的文档返回给LLM。

它在初始搜索阶段使用小文本块,随后向语言模型提供更大的相关文本块进行处理。

递归检索涉及在初始检索阶段获取较小的块以捕获关键语义。随后,在流程的后期阶段,将向LLM提供包含更多上下文信息的更大的文本块。这种两步检索方法有助于在效率和提供上下文丰富的响应之间取得平衡。

步骤:

  1. 该过程包括将原始大文档分解为较小、更易于管理的单元(称为子文档)和较大的块(称为父文档)。
  2. 它专注于为每一个子文档创建嵌入,这些嵌入比每一个完整的父块嵌入更丰富、更详细。它帮助框架识别包含与用户查询相关信息的最相关子文档。
  3. 一旦建立了与子文档的对齐,它就会检索与该子文档相关联的整个父文档。在所示的图片中,最终获得了父块。
  4. 父文档的这种检索很重要,因为它为理解和响应用户的查询提供了更广泛的上下文。框架现在可以访问整个父文档,而不是仅仅依赖于子文档的内容。

5. 句子窗口检索

这种分块技术与上面的非常相似。句子窗口检索的核心思想是根据查询从自定义知识库中有选择地获取上下文,然后利用该上下文的更广泛版本来生成更健壮的文本。

这个过程包括对一组有限的句子进行编码以供检索,以及围绕这些句子的附加上下文,称为“窗口上下文”,单独存储并链接到它们。一旦识别出最相似的句子,就会在这些句子被发送到大型语言模型(LLM)生成之前重新整合上下文,从而丰富整体上下文理解。

6. 检索优化

这是RAG工作流中最重要的部分,它包括基于用户查询从向量数据库中检索文档。这个步骤也可以称为对齐查询和文档。

  • 查询重写

查询重写是对齐查询和文档语义的基本方法。

在这个过程中,我们利用语言模型(LLM)功能来改写用户的查询生成一个新的查询。需要注意的是,在人类看来相同的两个问题在嵌入空间中可能并不相似。

  • MultiQuery检索器

多查询检索方法利用LLM从不同的角度为给定的用户输入查询生成多个查询,有利于处理具有多个子问题的复杂问题。

对于每个查询,它检索一组相关文档,并在所有查询中获取唯一联合,以获得更大的潜在相关文档集。

通过在同一个问题上生成多个子问题,MultiQuery Retriever可能能够克服基于距离的检索的一些限制,并获得更丰富的结果集。

  • Hyde或Query2doc

Hyde和Query2doc都是类似的查询重写优化。考虑到搜索查询通常很短、模棱两可或缺乏必要的背景信息,LLM可以提供相关信息来指导检索系统,因为它们通过对数万亿个token进行预训练来记忆大量的知识和语言模式。

  • StepBack-prompt(抽象式提示)

退步提示方法鼓励语言模型超越具体的例子,专注于更广泛的概念和原则。

该模板复制了“step - back”提示技术,该技术通过先问一个“step - back”问题来提高处理复杂问题的效果。通过检索原始问题和stepback问题的信息,可以将该技术与标准问答RAG应用程序结合使用。下面是一个stepback prompt的示例。

7. 微调嵌入模型

微调嵌入模型会显著影响RAG系统中检索内容的相关性。该过程包括自定义嵌入模型,以增强特定领域上下文中的检索相关性,特别是对于持续更新或存在罕见术语的专业领域。

  • 生成用于训练和评估的合成数据集

这里的关键思想是,可以使用GPT-3.5-turbo等语言模型生成用于微调的训练数据,以基于文档块制定问题。这允许我们以可扩展的方式生成合成的正对(查询、相关文档),而不需要人工标注。最终的数据集将是成对的问题和文本块。

  • 微调嵌入模型

在生成的训练数据集上微调任何嵌入模型。

  • 混合搜索探索

RAG系统通过智能集成各种技术来优化其性能,包括基于关键字的搜索、语义搜索和向量搜索。

这种方法利用每种方法的特定优势来适应不同的查询类型和信息需求,确保对高度相关和上下文丰富的信息进行一致的检索。使用混合搜索作为检索策略的强大补充,从而提高了RAG流水线的整体效率。

  • 常见的例子

最常见的模式是将稀疏检索器(如BM25)与密集检索器(如嵌入相似度)结合起来,因为它们的优势是互补的。它也被称为“混合搜索”。稀疏检索器擅长根据关键词找到相关文档,而密集检索器擅长根据语义相似度找到相关文档。

8. Post-Retrieval优化

a) 重排

在将检索结果发送给LLM之前对其重新排序可以显著提高RAG的性能。

向量相似性搜索的高分并不意味着它就具有最高的相关性。

核心概念包括重新排列文档记录,将最相关的放在最top,从而限制文档的总数。这既解决了检索过程中上下文窗口扩展的难题,又提高了检索效率和响应速度。

增加查询引擎中的similarity_top_k以检索更多上下文段落,在重排后可以减少到top_n。

b) 提示压缩

检索文档中的噪声会对RAG性能产生不利影响,因此,与查询最相关的信息可能会被隐藏在包含大量不相关文本的文档中。在应用程序中传递完整的文档可能会导致LLM调用成本更高,响应也更差。

在这里,重点在于压缩不相关的上下文,突出关键段落,并减少整个上下文的长度。

  • 上下文压缩

上下文压缩就是为了解决这个问题。其思想很简单:与其按原样立即返回检索到的文档,它可以使用给定查询的上下文压缩它们,以便只返回相关信息。这里的“压缩”既指压缩单个文档的内容,也指过滤掉整个文档。

文档压缩器是一个小型语言模型,用于计算用户查询和检索文档的提示互信息,估计元素的重要性。

9. 模块化RAG

模块化RAG集成了多种方法来增强RAG的不同组成部分,如在检索器中加入相似度检索的搜索模块和应用微调方法

  • RAG融合(RAG Fusion)

RA融合技术结合了两种方法:

  • 多查询检索

利用LLMs从不同的角度为给定的用户输入查询生成多个查询,这有利于解决包含多个子问题的复杂问题。

  • 重新排序检索到的文档

对所有检索到的文档重新排序,并删除所有相关分数低的文档

这种先进的技术保证了搜索结果符合用户的意图,无论他们是否明显。它帮助用户找到更有洞察力和相关的信息。

总结

本文讨论了优化RAG管道各部分和增强整体RAG流水线的各种技术。您可以在您的RAG流水线中使用这些技术中的一种或多种,从而使其更加准确和高效。我希望这些技术可以帮助你为你的应用构建一个更好的RAG流水线。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2026 年AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】


四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2026 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:25:28

计算机毕业设计之springboot基于springboot的医院后台管理系统

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低医院的运营人员成本,实现了医院后台的标准化、制度化、程序化的管理,有效地防止了医院后台的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询…

作者头像 李华
网站建设 2026/4/10 0:50:42

教育论文的“数据炼金术”:书匠策AI如何把数字变成学术黄金

在学术写作的江湖里,数据是论文的“血液”,但如何让冰冷的数据“开口说话”,却让无数研究者头疼。有人困在数据收集的“无米之炊”里,有人被SPSS的代码“加密语言”劝退,还有人对着满屏的数字发呆,不知如何…

作者头像 李华
网站建设 2026/4/16 7:44:28

大模型转型攻略:零基础入门到实战项目全指南

本文是一份大模型领域转型攻略,从明确目标方向到掌握基础知识,再到深入学习Transformer架构、预训练微调等技术,通过实践项目和参与开源社区提升能力,提供学习资源、职业发展建议及常见问题解答,帮助零基础学习者系统进…

作者头像 李华
网站建设 2026/4/16 7:45:03

LangChain 1.0+ LCEL 深度解析:从可选方案到生产级标准的进化

​ 【个人主页:玄同765】 大语言模型(LLM)开发工程师|中国传媒大学数字媒体技术(智能交互与游戏设计) 深耕领域:大语言模型开发 / RAG知识库 / AI Agent落地 / 模型微调 技术栈:Pyth…

作者头像 李华
网站建设 2026/4/16 7:41:36

【三端毕设源码分享】基于springboot+小程序的民宿预订系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/15 15:23:59

【三端毕设源码分享】基于springboot+小程序的餐厅点餐系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华