1 摘要
大型语言模型(LLMs)展现了显著的能力,但面临诸如幻觉、过时知识以及不透明、无法追踪的推理过程等挑战。检索增强生成(RAG)通过整合外部数据库的知识,已成为一个有前途的解决方案。
检索增强生成(RAG)技术通过整合外部知识库优化大型语言模型性能,解决幻觉与知识过时问题。文章综述了朴素 RAG、进阶 RAG 及模块 RAG 三种范式,深入解析检索、生成及增强三大组件的关键技术。同时涵盖评估指标、基准测试工具及未来挑战与扩展方向,为构建高效 RAG 系统提供理论支撑与实践参考。

大型语言模型(LLMs)展现了显著的能力,但面临诸如幻觉、过时知识以及不透明、无法追踪的推理过程等挑战。检索增强生成(RAG)通过整合外部数据库的知识,已成为一个有前途的解决方案。
LLM RAG(Retrieval-Augmented Generation)结合了检索和 AI 生成两种方法,旨在提高生成式任务的性能。RAG 模型成为了基于 LLM 的系统中最流行的体系结构之一,并在多个应用领域中得到了广泛应用。这提高了模型的准确性,增强了模型的信誉,特别是对于知识密集型任务,并允许持续的知识更新和特定领域的集成信息。RAG 协同地融合了 LLM 的内在知识与外部数据库的广阔、动态的存储库。本文全面回顾了 RAG 范式的进展,包括朴素 RAG、进阶 RAG 和模块 RAG。仔细审查了 RAG 框架的三部分基础,包括检索、生成和增强技术。本文重点介绍了每个关键组件中的先进技术,为 RAG 系统的进步提供了深刻的理解。此外,本文还介绍了评估 RAG 模型的度量和基准,以及最新的评估框架。总之,本文指出了未来的研究方向,包括识别挑战、扩展多模态、以及 RAG 基础设施及其生态系统的进步。

RAG 是一种通过融入外部知识库来优化 LLM 性能的模式,采用协同方式,综合信息检索机制和上下文学习技术,增强 LLM 的性能。其工作流程包含三大核心步骤:对语料库进行离散化处理并生成向量索引,根据查询与索引块的向量相似性识别并检索相关块,以及基于检索到的块中的上下文信息生成响应。RAG 无需针对特定任务重新训练 LLM,开发者可通过增添外部知识库丰富输入内容,提升模型输出精度。其关键优势在于信息检索和上下文感知生成能力。

RAG 研究范式经历了不断演变的过程,主要分为朴素 RAG、进阶 RAG 和模块 RAG 三种类型。
朴素 RAG 遵循传统流程,包括索引、检索和生成。索引为检索提供了便利,检索和生成是关键挑战领域。检索质量低,生成质量引发幻觉挑战,增强过程难以有效地结合上下文与当前生成任务。重复和冗余也是问题,需要确定重要性和相关性,协调不同的写作风格和语气。生成模型过度依赖增强信息存在风险。
进阶 RAG 通过预检索和后检索策略,以及滑动窗口、细粒度分割和元数据等技术改进索引方法,以弥补 Naive RAG 的缺点。预检索过程包括增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索。检索阶段通过计算查询和块之间的相似性来确定适当的上下文,嵌入模型是核心。后检索过程需要对检索到的内容进行重新排名和提示压缩,以应对上下文窗口限制带来的挑战。

RAG 系统是一种新型的框架,具有更大的灵活性和适应性,可以整合各种方法来增强功能模块,并解决特定问题。模块 RAG 具有高度的适应性,允许在 RAG 过程中替换或重新排列模块以适应特定问题情境。优化 RAG 管道可以提高信息效率和信息质量,通过整合各种搜索技术、改进检索步骤、融入认知回溯、实施多功能的查询策略和利用嵌入相似性等方法实现。这种方法有助于生成对后退提示的响应和最终的答案生成过程。然而,这种方法可能不会始终产生令人满意的结果,特别是当语言模型对主题不熟悉时,可能会导致更多的错误实例。
在 RAG 中,高效检索文档需解决三大问题:精确的语义表示、协调查询与文档语义空间,以及检索器输出与大型语言模型偏好的协调。
为了构建精确的语义空间,可以采用块优化和微调嵌入模型两种方法。在实施块优化时,需要考虑索引内容的特性、所选嵌入模型的适用性、用户查询的预期长度和复杂性,以及应用程序的实际使用情况。在微调嵌入模型时,可以利用特定领域的数据集和下游任务的微调来提升模型的性能。目前,在 RAG 领域中,研究者们正在探索各种多元化的方法,以提高信息检索的效率和准确性。
RAG 应用中,检索器可以使用嵌入模型编码查询和文档,或为每个使用不同模型。查询重写和嵌入变换是两种基本技术实现查询和文档语义对齐。查询重写通过将原始查询与额外指导结合来创建伪文档,或使用文本线索构建查询向量以生成'假设'文档,或改变传统的检索和阅读顺序,专注于查询重写,或利用 LLM 进行高级概念抽象推理和检索。嵌入变换通过引入适配器模块,优化查询嵌入的表示,将其映射到与预期任务更紧密对齐的潜在空间中。SANTA 通过两种预训练策略增强检索器对结构化信息的敏感性,提高检索器识别结构化信息的能力。
微调和适配器是两种将检索器输出与 LLMs 偏好对齐的方法,微调检索器包括利用来自 LLM 的反馈信号来完善检索模型,如 Yu 等人使用编码器 - 解码器架构为检索器提供监督信号,通过 FiD 跨注意力分数识别 LM 的偏好文档,并使用难负采样和标准交叉熵损失对检索器进行微调。适配器方法包括采用外部适配器来帮助对齐,如 PRCA 通过上下文提取阶段和奖励驱动阶段来训练适配器,并使用基于令牌的自回归策略优化检索器的输出。
RAG 的核心构成部分之一是生成器模块,其职责在于将收集到的信息进行有机转化,输出为条理清晰、自然连贯的文本内容。生成器能够结合各类数据资源,提升信息的精确度和实用性,并在所获得文本的指导下,保证产出文本与原有信息的吻合度。这种深度的信息整合使得生成器能够精准洞察问题背景,提供更加详尽且具有情境感的回应。生成器的应用对于增强大型模型处理输入数据的能力起到了关键作用。
在不可调用的 LLM 领域,研究依赖大型模型合成信息,但存在上下文长度限制和易受冗余信息影响的问题。为了解决这些问题,转向后检索处理,涉及处理、过滤或优化从大型文档数据库中检索的相关信息,以提高检索结果质量。信息压缩和重新排序是后检索处理中的常见操作。信息压缩通过减少噪音、增强生成效应和减少文档数量来提高准确性,而重新排序模型则优先考虑最相关的项目,提高检索效率和响应速度。
RAG 模型中的生成器是关键,其角色是接收检索到的信息并生成相关文本。为了适应输入查询和检索到的文档,对模型进行微调变得至关重要。在 RAG 中,生成器的微调方法与 LLM 的一般微调方法一致。为了提高生成器的性能,需要后处理检索到的文档,并使用代表性工作进行数据和优化函数的探索。总体优化过程包括训练数据通常包括输入 - 输出对,旨在训练模型根据输入生成输出。在联合编码器和双编码器范式中,使用基于编码器 - 解码器的标准模型或两个独立的编码器对输入和文档进行编码,然后使用解码器进行双向跨注意力处理。这两种架构都使用 Transformer 作为基础块并进行优化。在训练语言模型时,传统的方法可能导致'曝光偏差',为了解决这个问题,SURGE 提出了使用图 - 文本对比学习的方法,可以促使模型产生一系列可能且连贯的响应,减少过拟合,加强模型泛化能力。
RAG 发展的三大关键技术:增强阶段、数据来源和过程。图 4 展示了 RAG 核心组件的分类体系。

RAG 是一个知识密集型工作,在语言模型训练的预训练、微调和推理阶段,融入了各种技术方法。在预训练阶段,研究人员通过基于检索的策略来加强开放域 QA 的 PTMs。微调检索器能优化语义表示,协调检索与生成模型,提升通用性和适应性。在推理阶段,先进技术引入更丰富语境的信息,以改进 RAG 模型的生成结果。这些增强提供了轻量级、经济高效的替代方案,能利用预训练模型的能力而无需进一步训练。微调对 RAG 模型适应特定任务至关重要,能完善检索与生成器,增强模型多样性和适应性。
RAG 模型需要增强数据源的选择,包括非结构化数据、结构化数据和 LLM 自身生成的内容。无结构数据提供细粒度精度,但增加检索复杂性。结构化数据提供高质量上下文信息,有助于缓解模型幻觉。利用 LLM 的内部知识,选择性地应用检索增强,或用 LLM 生成器取代检索器,通过迭代创建与检索增强生成器无界的内存池,使用内存选择器来选择作为原始问题的双重问题的输出,从而自我增强生成模型。这些方法旨在提高模型性能和任务有效性。
在 RAG 领域,为解决检索效率低下和'迷失在中间'问题,提出了迭代检索、递归检索和自适应检索方法。迭代检索通过多次检索迭代提供额外的上下文参考,增强后续答案生成的鲁棒性。递归检索是一种优化搜索结果的反馈循环过程,通过反复改进搜索查询来提高搜索结果的深度和相关性。自适应检索方法通过使 LLM 主动确定检索的最佳时间和内容来改进 RAG 框架,提高检索信息的效率和相关性。这些方法包括使用强化学习框架、自我反思令牌和自动监测生成过程的置信度等手段。


表 1 RAG 与微调之间的比较

RAG 与 FT 为信息检索模型训练领域的两种独特方法。RAG 主要针对特定查询进行设计,而 FT 则更擅长于知识的内化。通过强化基础模型知识、优化输出机制以及教授复杂指令,FT 能够显著提升模型的性能与效率。然而,FT 在整合新知识或快速迭代新用途上表现不足。值得注意的是,RAG 与 FT 并非相互排斥,而是可以相互补充,共同提升模型能力。在实际应用中,针对 RAG 与 FT 的优化过程往往需要多次迭代,方能获得满意的结果。
随着自然语言处理领域中 RAG 技术的迅猛发展与广泛应用,法律语言学社区迎来了前沿研究的新机遇。评估工作旨在深入理解和持续优化 RAG 模型在各类实际应用场景中的性能表现。评估方法不断进化,从原先特定任务的评估方法与指标,逐步转向对现有文献的综合考量,这些文献主要围绕 RAG 模型的独特属性展开。综合评估涵盖了 RAG 模型的目标设定、评估维度的选择、以及适用于此类评估的基准与工具等多个方面。本文力求提供一个全面而系统的 RAG 模型评估概述,为相关研究提供坚实的理论支撑和实践指导。
RAG 模型的评价主要关注检索和生成模块,以全面评估上下文质量和内容质量。检索质量评估使用搜索引擎、推荐系统和信息检索系统的标准指标,如命中率、MRR 和 NDCG 等,以确定检索组件提供的上下文的有效性。生成质量评估包括真实性、相关性、非危害性和准确性,可以通过手动或自动评估方法进行。对于未标记的内容,评估还包括上下文相关的答案。对于标记的内容,重点是模型产生的信息的准确性。评估方法可以用于检索和生成的质量评估。
RAG 模型评价主要关注三个质量分数和四种能力。质量分数包括上下文相关性、答案准确性和答案相关性,评估 RAG 模型的检索和生成效率。所需能力包括噪声鲁棒性、负拒绝、信息整合和反事实鲁棒性,对于模型在各种挑战和复杂场景下的性能至关重要。上下文相关性和噪声鲁棒性对于评估检索质量很重要,而答案真实性、答案相关性、负拒绝、信息整合和反事实鲁棒性对于评估生成质量也很重要。
表 2 适用于评价方面 RAG 的指标摘要表

RAG 模型评估框架包括基准测试和自动化评估工具,这些工具提供了定量指标,可以衡量模型表现并增强对模型在各种评估方面的能力理解。基准测试侧重于评估模型的基本能力,而最先进的自动化工具使用 LLM 来裁决质量分数。这些工具和基准共同构成了系统评估 RAG 模型的强大框架,如表 3.
表 3 评价框架摘要

上下文长度限制,需平衡信息不足与风险
提高对噪声或矛盾信息的鲁棒性,增强反事实输入的抵抗力
结合 RAG 与微调,探索最佳集成方式,利用参数化和非参数化优势。
研究如何进一步释放 LLMs 在 RAG 系统中的潜力。
探讨 RAG 模型是否违反规模定律,研究参数数量问题。
解决关键工程挑战,如提高检索效率、文档召回率及数据安全性。
随着技术的进步,RAG 可以探索更多的应用模式,例如与其他技术的集成和扩展。这可能包括与其他自然语言处理技术的集成,例如语音识别和机器翻译,以及与其他领域的应用集成,例如医疗保健和金融。此外,RAG 还可以探索更复杂的任务,例如解释性自然语言生成和对话系统。这些扩展将需要进一步的研究和开发。
为了实现 RAG 的广泛应用和持续发展,需要建立一个生态系统,包括硬件、软件、数据集、培训资源和社区支持。这需要与行业合作伙伴、研究机构和开源社区建立合作关系,共同推动 RAG 的发展。此外,还需要关注 RAG 的伦理和社会影响,以确保其应用符合道德和法律标准。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online