日期:2025/04/07 02:02来源:未知 人气:53
1.**引言**
近两年,检索增强生成(RAG,Retrieval-Augmented Generation)技术正在成为提升大模型性能的关键工具。RAG技术通过引入外部知识,结合检索与生成的双重能力,为大模型在复杂场景中的应用提供了更多可能性。无论是文档解析的质量、上下文信息的精确性, 还是针对任务的合理规划 ,RAG的每一步都在为模型能力的上限奠定基础。
2024年11月,360智脑团队自研RAG在中文评测基准SuperCLUE-RAG专项榜单中表现优异取得榜单第一 ,本次评估是自研RAG技术与360GPT-Pro模型结合,在各项子指标上表现均衡。验证了360智脑在RAG技术优化上的实践价值,为复杂场景下的大模型应用提供了参考范式。
图1:2024年11月份SuperCLUE-RAG总榜榜单
图2:2024年11月份SuperCLUE-RAG评估四大基础任务分数
本篇文章将深入探讨RAG技术的核心特性及其在实际业务场景中的应用表现,分析高效RAG系统应具备的关键能力,并以360智脑的RAG方案为例,分享其技术优化过程与实践经验。我们希望通过这篇技术分享,为关注RAG技术的读者提供参考与启发。
2.为什么大家这么关注RAG技术?
2.1 大模型为什么需要RAG?
在大模型(LLM)落地过程中,存在诸多挑战,如缺乏企业私有知识存在幻觉问题、训练周期长成本高、知识更新不及时的问题以及模型的黑箱属性缺乏可解释性的问题等。而RAG(Retrieval-Augmented Generation,检索增强生成)技术的引入,可以有效地解决这些问题。
2.2 RAG的定义和作用
RAG,全称为Retrieval-Augmented Generation ,是一种结合了信息检索(Retrieval)和文本生成(Generation)的技术。具体来说,RAG模型在生成回答时,不仅依赖于预训练的语言模型,还会从一个大型的文本库中检索相关的信息,以增强生成的准确性和丰富性。这种方法通过引入外部知识,弥补了单纯依赖生成模型时可能存在的信息不足和错误。RAG模型通常包括两个主要组件:
这种方法的优点在于,它能够利用外部知识库中的丰富信息来增强生成模型的表现,从而生成对输入查询更有针对性、更相关的内容。
2.3 RAG典型的应用场景
RAG能够在多个应用场景中发挥重要作用。以下是几个主要的应用场景:
2.4 RAG效果评估的关键特征
在评估RAG系统性能时,有多种评估方案。其中,第三方评测机构的评测是其中一种方案,它涵盖单文档问答、多文档问答、无文档问答 (搜索增强)三种典型使用场景,重点考察以下四个核心维度:
以下是实践案例:
图3:2024年11月份SuperCLUE-RAG评估中拒答维度案例
图4:2024年11月份SuperCLUE-RAG评估中检错与纠错维度案例
图5:2024年11月份SuperCLUE-RAG评估中信息整合维度案例
图6:2024年11月份SuperCLUE-RAG评估中答案时效性维度案例
通过这些评测,我们可以清晰地看到,一个高效的RAG系统不仅需要精准的检索与生成能力,更需要在多文档、无文档场景下展现强大的信息处理能力和响应效率。对于RAG的应用场景及未来发展方向,这些指标也提供了重要的参考标准。
3.360智脑RAG方案
在RAG发展迭代演进过程:逐步经历了基础RAG、高级RAG和模块化RAG。RAG通常又包括三个阶段:建库阶段、检索阶段、生成阶段。 以下是360智脑RAG的整体架构图。
图7: 360智脑RAG技术架构图
快速搭建一个RAG demo很简单,但要在真实业务场景上进行落地并取得好的效果往往比较难。根据360智脑RAG的迭代经验,总结出做好RAG的六大观点:
观点1: 文档解析的质量决定了RAG能力的上限
在RAG过程中,文档解析起着至关重要的作用。
图8: 建库关键技术之文档解析
在文档解析过程中,我们通常会遵循以下几个步骤。
观点2:**细粒度、语义级、边界精确的文档切片对RAG至关重要**
在RAG过程中,chunking方式的选择至关重要。
图9: 建库关键技术之切段
先根据文档的篇章目录结构对文档进行初步的语义切分。这一步的目的是将文档按照自然的段落或章节进行划分,使每个部分都有明确的主题和内容。这种结构化的划分有助于后续的处理和信息检索。接下来,对于每个初步切分后的段落或章节,如果其长度超过了预设的限制(例如,超过特定的字数或句子数),则需要对其进行递归切分。这一步的目的是确保每个文本块的长度在可控范围内,以便后续的处理和生成过程能够高效进行。
观点3:**针对文档内容的多样化数据增强策略是一种有效的提升RAG效果的方案**
在RAG建库阶段,数据增强对于提升检索效果至关重要。
通过这些数据增强手段,可以显著提高RAG系统的性能和用户体验。
图10: 建库关键技术之数据增强
观点4:**准确的query理解和任务规划策略对于RAG召回至关重要**
检索策略的选择对结果的准确性和相关性至关重要。
图11: 检索关键技术之检索策略和query预处理策略
观点5:**精确、丰富、完备、不含噪声的上下文信息对大模型是友好的**
使用较小的文本块可以显著提高检索的准确性,因为较小的块能够更精确地匹配查询内容,从而提供更加相关的检索结果。然而,在生成阶段,使用较大的文本块则能提供更多的上下文信息,帮助生成更加连贯和详尽的回答。此外,确定合适的上下文边界同样重要,避免包含主题无关的内容,以确保生成内容的准确性和相关性。以下是关于如何通过 RAG Small2Big 扩展上下文的方法:
在扩展过程中,注意保持语义的完整性,避免引入无关或矛盾的信息。
观点6:**用好慢思考能力,推理和反思能够帮助RAG提升能力上限**
推理和反思起着至关重要的作用。
通过多轮迭代,不断进行推理和反思,可以逐步提升结果的质量和可靠性,最终获得高质量的输出。
图12: 检索和生成协同进行推理和反思
在用户输入问题后,LLM模型先对问题进行分析和规划,这个过程被称为链式思考(Chain of Thought, COT) 。COT帮助模型分解问题,确定需要检索的信息类型和生成答案的步骤。之后,模型会进行信息检索,从预定义的知识库或文档集中提取与问题相关的内容。这一步确保模型能够访问到最新和最准确的外部信息。
在完成信息检索后,LLM模型将检索到的内容与自身的生成能力结合起来,生成一个初步的答案。这个生成过程不仅依赖于检索到的信息,还利用了模型的内在语言生成能力,以确保答案的连贯性和流畅性。
最后, LLM模型会对生成的答案进行验证和反思。验证步骤包括检查答案的准确性和一致性,而反思则是对生成过程进行评估,找出可能的改进点。这一循环过程使得RAG能够不断优化其问答能力,提供更加精确和有用的答案。
4.**总结**