当前位置: 首页 > news >正文

[GenAI] RAG架构演进

RAG架构演进

RAG 的概念和思想最早是在 2020 年由 Meta 公司的技术团队在文章 “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks” 中正式提出的,用于给当时已经开始出现的大型预训练语言模型提供来自外部的 非参数化 的信息与记忆,从而改善语言生成的效果。

[!tip]

非参数化 的信息与记忆指的是不包含在模型权重中的知识内容。训练语料库之外的信息。

同济大学智能自主系统上海研究所等团队在 2024 年年初发表勒一篇研究报告 “Retrieval-Augmented Generation for Large Language Models”,将 RAG 范式与架构的演进分成了 3 个阶段:

  1. Native RAG 阶段
  2. Advanced RAG 阶段
  3. Modular RAG 阶段

Native RAG 阶段

包含 3 个主要的模块与阶段:

  1. 索引
  2. 检索
  3. 生成
image-20250528094543784

Advanced RAG 阶段

  1. 检索前处理
  2. 检索后处理

检索前处理

Pre-Retrieval

🤔 需要处理啥?

检索前处理通常用于完成诸如 查询转换查询扩充检索路由等处理工作,其目的是为后面的检索和检索后处理做必要的准备,以便提高检索阶段 召回知识 的精确度与最终生成的质量。

查询转换(Query Rewriting)

将用户的原始问题“重写”为一个更清晰、更标准、更检索友好的表达方式。例如:

原始问题 转换后查询
“这个 App 支不支持退款?” “App 退款政策是什么?”
“我买的耳机怎么一直没声音?” “耳机无声音的常见原因与解决方法”

查询扩充(Query Expansion)

在不改变用户意图的前提下,添加相关词语或同义表达,让检索系统能够匹配到更多语义相关的文档。例如用户输入:

项目合同

扩充后的 Query 变成了:

["项目合同", "合作协议", "法律文件", "合同模板"]

这类操作能显著提高召回率,避免“字不对字”导致遗漏。

检索路由(Retrieval Routing)

在准备外挂语料库(知识库)的时候,往往会有多个语料库。

针对不同类型的问题,选择不同的知识库或不同的检索方式,实现多路检索策略。例如:

用户问题 路由策略说明
“这款产品电池容量是多少?” 路由到【产品参数知识库】
“怎么退货?” 路由到【客服 FAQ 知识库】
“能再详细说明一下工作原理吗?” 路由到【技术文档知识库】,或使用多跳检索

召回率(Recall)

指的是所有相关内容中被成功检索出来的比例。公式为:

召回率 = 检索到的相关内容数量 / 所有实际相关内容的总数

例如:实际相关文档有 10 个,系统只检索到其中 6 个,那么召回率 = 6 / 10 = 60%

精确率(Precision)

指的是检索出来的所有内容中,真正相关的占比。公式为:

精确率 = 检索到的相关内容数量 / 检索到的所有内容数量

例如:实际相关文档有 10 个,系统共返回 8 个文档,其中 6 个是相关的,那么精确率 = 6 / 8 = 75%

也就是说,召回率反映的是系统的覆盖能力,而精确率衡量的是系统的准确性

检索后处理

Post-Retrieval

检索后对检索出的相关知识块做必要的补充处理的阶段。

即使用了很优秀的向量搜索,检索回来的 Top-K chunks 仍然可能存在这些问题:

  1. 内容相关性差:向量相似度高但语义上与用户问题不匹配
  2. 信息冗余:多个 chunks 说的是同一件事,浪费词元空间
  3. 有害内容:包含过时、不合法、敏感内容
  4. 结构混乱:拼接后的上下文缺少逻辑、排序不合用户意图

因此需要对检索结果进行进一步处理,确保大模型接收到的上下文内容是「最相关 + 最高质量 + 最结构化」的。

常见的处理有:

  1. 重排序(Reranking)
  2. 过滤无关内容(Filtering)
  3. 合并去重(Merging)
  4. 精简摘要(Summarization)
  5. 格式优化(Structuring)

经过了这些后处理之后,能够使得最需要、最合规的知识块处于上下文的最前端,从而有助于提高大模型的输出质量。

Modular RAG 阶段

Native RAG 和 Advanced RAG 都是链式的、顺序式的 RAG 范式。

Modular RAG 超越了这两种传统的 RAG 范式,展示了一种更灵活、更自由、更具高度扩展性的 RAG 范式。

Modular RAG 的基本思想如下:分模块

将 RAG 应用中的各个阶段细分成多个模块类、模块与算法。

  • 模块类:代表 RAG 应用中的一个核心流程,比如预检索、检索中、检索后处理
  • 模块:代表一个核心流程中的功能模块,比如预检索中的查询转换、查询扩充
  • 算法:代表模块的一种实现方法,比如光查询转换就可以有普通重写、后退式重写、HyDE 重写等好几种方式

🤔 Modular RAG 的好处?

极大的提高了系统的可扩展性和灵活性。


-EOF-

http://www.hskmm.com/?act=detail&tid=29400

相关文章:

  • 24NOIP游记——彼时彼刻
  • 嵌入式-C++面经1
  • 合并区间 - MKT
  • 如何防止员工向第三方 AI 泄露数据?滤海 AI DLP 全方位技术防护方案解析
  • 20232322 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 实验1 现代c++编程初体验
  • 冬天快乐
  • P2441M 见过的 tricks
  • 企业大数据战略定位
  • OpenAI加码个性化消费AI技术布局
  • 线性回归 C++ 实现
  • 内存分区
  • Spring Data JPA学习笔记
  • P1112 波浪数 题解
  • 20232411 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 使用 Pascal 实现英文数字验证码识别系统
  • PWN手的成长之路-15-jarvisoj_level2_x64
  • 2025.10.12——1绿
  • 价值博弈场的工程实现:构建数字文明的价值免疫系统——声明Ai生成
  • 基于 Rust 的英文数字验证码识别系统设计与实现
  • 2025年两联供室内机厂家最新权威推荐榜:技术实力与市场口碑
  • 2025武汉商铺装修防水厂家最新权威推荐榜:专业施工与品质保
  • 2025铝合金微弧氧化厂家权威推荐榜:表面处理技术实力深度解
  • 2025杉木木方厂家最新权威推荐榜:优质木材与稳定供应口碑之
  • 2025年厂房保养厂家最新权威推荐榜:专业维护与成本控制优选
  • 使用C语言实现重写stm32的启动文件
  • 2025中医师承权威推荐榜:名师带徒与临床实践深度解析
  • 让我们开始 CSS 的学习之旅
  • 2025液压无损扒胎机厂家权威推荐榜:高效无损与耐用性能深度
  • Linux环境下的UDEV机制及其与守护进程的关联