当前位置: 首页 > 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.gsyq.cn/news/19531.html

相关文章:

  • 基于 Rust 的英文数字验证码识别系统设计与实现
  • 让我们开始 CSS 的学习之旅
  • Linux环境下的UDEV机制及其与守护进程的关联
  • 查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
  • 深入理解MySQL的MVCC(多版本并发控制)实现原理
  • Kubernetes环境下Nginx代理Nacos服务请求故障诊断
  • SSL/TLS协议如何确保HTTP通信的安全
  • 2023-网鼎杯web-platfrom
  • 区分iBatis与MyBatis:两个Java数据库框架的比较
  • JavaScript加密与解密技术:Hook技术应用案例分析
  • Oracle数据库创建表空间和索引的SQL语法示例
  • 2025无锡考编培训机构权威推荐榜:专业辅导与高通过率口碑之
  • 论人工智能,对人类生产的影响。
  • Codeforces Round 991 (Div. 3) vp 题解
  • 完整教程:prompt提示词工程---如何让大模型更听得懂人话
  • 2025年扁钢厂家最新权威推荐榜:强度与精度双重保障的工业脊
  • 2025防爆数粒机厂家权威推荐榜:高效精准与安全防爆口碑之选
  • Linux系统设置与理解主机名(hostname)的重要性
  • 基于GPT2搭建医疗问诊机器人
  • 安装pytorch(win 11 +3060 laptop)
  • Real English Questions and Answers Practice
  • SQL删除操作性能分析:移除300万条记录所需时间估算
  • 【操作系统】Page Fault
  • Java 软件报错之初
  • 2025智能照明模块厂家权威推荐榜:技术创新与智能控制口碑之
  • 化工反应釜全流程监控中Modbus TCP 转DeviceNet协议下西门子 S7-1200 与温度传感器的智能化精准调控方案
  • 深入解析:开源的容器化平台:Docker
  • 算法训练.16 - 实践
  • Java连接MySQL数据库
  • Git版本控制工具合并分支merge命令操作流程