微信扫码
添加专属顾问
我要投稿
RAG是一种逐步发展的架构,从朴素RAG、高级RAG到模块化RAG,通过语义相似度计算从外部知识库检索相关信息,从而增强LLM,并通过预/后检索策略、模块重组等技术来优化其检索和生成能力。
大型语言模型 (LLM) 彻底改变了人工智能领域,ChatGPT、Bard、Claude等模型在自然语言任务甚至其他领域的成功足以证明这一点。这些LLM能够生成从创意写作到复杂代码的各种文本。然而,LLM也面临着诸多挑战,例如内容幻觉、知识过时以及推理过程不透明、不可追溯等问题。检索增强生成 (RAG) 作为一种很有前景的解决方案应运而生,为LLM集成了外部数据库中的知识信息。这显著提高了生成内容的准确性和可信度(特别是在知识密集型任务中),并支持知识的持续更新和特定领域信息的集成。
RAG通过语义相似度计算,从外部知识库中检索相关的文档块,以此来增强LLM。通过参考外部知识,RAG有效地减少了生成不符合事实内容的问题。RAG与LLM的集成使其被广泛采用,并成为推进聊天机器人技术和增强LLM在实际应用中可用性的关键技术。当用户向LLM询问问题时,AI模型会将查询以机器可读的数值形式进行转换(这种转换后的形式有时称为嵌入或向量)。RAG将LLM与嵌入模型和向量数据库相结合。嵌入模型随后将这些数值与可用的知识库的机器可读索引中的向量进行比较。当它找到一个或多个匹配项时,它会检索相关数据,将其转换为人类可读的词语,再传递回LLM。最后,LLM将检索到的词语和对查询的响应组合成最终答案呈现给用户,并可能引用嵌入模型找到的来源。
RAG 的研究范式在不断发展,可以将RAG分为三个阶段:朴素RAG、高级RAG和模块化RAG。尽管RAG方法在成本效益上优势显著,并且已经超越了原生LLM的性能,但它也表现出一些局限性。高级RAG和模块化RAG的发展正是为了克服朴素RAG存在的具体缺陷。
朴素RAG:朴素RAG的研究范式代表了最早期的RAG方法,在ChatGPT被广泛采用后不久就得到了广泛的关注。朴素RAG遵循包括索引、检索和生成在内的传统过程,也被称为“检索-阅读”框架。索引从清理和提取PDF、HTML、Word和Markdown等不同格式的原始数据开始,这些数据随后被转换为统一的纯文本格式。
然而,朴素RAG也面临着一些显著的缺点:
高级RAG:高级RAG引入了特定的改进以克服朴素RAG的局限性。它着重于提高检索质量,采用了检索前和检索后两种策略。为了解决索引问题,高级RAG通过滑动窗口分割、细粒度分段和加入元数据等方式来改进索引技术。此外,它还结合了一些优化方法来简化检索过程。检索前流程主要的重点是优化索引结构和原始查询。优化索引旨在提高被索引内容的质量。这包括多种策略:增强数据粒度、优化索引结构、添加元数据、进行对齐优化,以及混合检索。查询优化的目标是使用户的原始问题更清晰、更适合检索。常用的方法包括查询重写、查询转换、查询扩展,以及其他技术。
模块化RAG:模块化RAG架构超越了前两种RAG范式,提供了更高的适应性和通用性。它整合了多种改善RAG组件的策略,例如添加搜索模块以进行相似性搜索,以及通过微调来改进检索器。为了解决具体挑战,人们提出了重组RAG模块和重新排列RAG流水线等创新方法。向模块化RAG方法的转变正在变得司空见惯,支持跨组件的顺序处理和集成端到端训练。尽管有其独特性,模块化RAG还是建立在高级RAG和朴素RAG的基本原理之上的,体现了RAG系列内的发展和改进。
总之,RAG作为一种引入外部知识库的方案,已经成为颇具前景的解决方案。这显著提高了生成内容的准确性和可信度(特别是在知识密集型任务中),并支持知识的持续更新和特定领域信息的集成。RAG通过语义相似度计算,从外部知识库中检索相关的文档块,以此来增强LLM。RAG的研究范式在不断发展,RAG可以分为三个阶段:朴素RAG、高级RAG和模块化RAG。朴素RAG有几个局限性,包括检索挑战和生成困难。为了解决这些问题,后两种RAG架构应运而生:高级RAG和模块化RAG。由于模块化RAG的可扩展架构,它已成为构建RAG应用程序的标准范式。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-01
2025-01-01
2024-08-13
2025-02-04
2024-04-25
2024-07-25
2024-06-13
2024-09-23
2024-04-26
2024-08-21