一、什么是RAG

1、RAG的核心概念

检索增强生成(英语:Retrieval-augmented generation, RAG ) 是赋予生成式人工智能模型信息检索能力的技术。检索增强生成优化大型语言模型(LLM) 的交互方式,让模型根据指定的一组文件回应用户的查询,并使用这些信息增强模型从自身庞大的静态训练数据中提取的信息。检索增强生成技术促使大型语言模型能够使用特定领域或更新后的信息。应用案例,包括让聊天机器人访问公司内部资料,或来自权威来源的事实信息。

简单说:
让大模型在回答问题前,先"查资料"(从你的知识库中检索相关信息)
再基于查到的资料生成答案,避免"瞎编"(减少幻觉)

2、RAG解决的核心问题

传统大模型的3大痛点,RAG来解决:

知识过时:模型训练数据有截止日期,RAG可实时调用最新知识
幻觉生成:模型可能编造错误信息,RAG让答案基于真实资料
领域局限:通用模型对专业领域知识不足,RAG可接入行业知识库

3、RAG优点

轻量,成本更低,灵活:相比组织特定领域信息重新训练基础模型,RAG是将新数据引入LLM成本更低的方法。
支持实时数据更新:可以通过工具实时检索最新信息,并利用LLM的整合推理能力更准确回答实时问题。
可解释性,可溯源:答案来源可追溯到具体检索库以及检索内容,用户可验证准确性。

4、RAG缺点

依赖知识库质量及系统设计:系统回答的效果与外部知识库质量和整体系统设计有较大关系,若设计不合理可能导致答案偏差。
系统复杂度增加,增加计算开销:大规模的知识库检索会让整体系统更加复杂,并且会延长系统性响应时间,对耗时敏感的业务可能产生性能瓶颈。研究表明,检索环节占RAG总耗时的60%以上。

二、RAG的几种范式

在这里插入图片描述

1、Naive RAG(朴素RAG)

Naive RAG是RAG技术的最早阶段,主要涉及三个核心步骤: 索引、检索和生成。

其中,索引阶段,构建一个包含大量文本数据的倒排索引,以便快速检索相关信息。索引过程包括数据清洗、分块和嵌入,将文本转换为向量表示,以便计算文本之间的相似度;检索阶段,给定用户输入的问题,使用嵌入模型将问题转换为向量表示,并计算问题向量与索引中文档块的相似度。根据相似度对文档块进行排序,选取最相关的前K个文档块作为上下文信息;生成阶段将检索到的上下文信息与用户输入问题一起输入到LLM中,生成最终的回答。

2、Advanced RAG(高级RAG)

Advanced RAG对Naive RAG进行了优化。例如,在检索阶段之前和之后引入优化方法,如重新排序检索结果、使用LLM生成伪文档等,以提高检索质量;索引优化阶段通过滑动窗口、细粒度分块、元数据增强等方法优化索引过程,提高检索效果;多阶段检索阶段根据问题的不同类型和需求,进行多阶段检索,以获取更精确的检索结果;提高索引数据的质量,包括增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索等。

3、Modular RAG(模块化RAG)

Modular RAG允许根据具体问题调整模块和流程,例如引入搜索模块、记忆模块、额外生成模块等新模块,以扩展RAG的功能。允许调整模块之间的顺序和连接方式,如对齐模块、添加或替换模块等,以适应不同任务和场景,与LLM的其他技术(如提示工程、知识蒸馏等)相结合,提高模型性能,并最终通过调整模块和流程,使RAG技术能够适应各种下游任务,提高通用性。

4、Agentic RAG(智能体RAG)

Agentic RAG 指的是一种基于 AI 代理(AI agents)的 RAG 实现方式。它在 RAG 流水线中引入 AI 代理,不仅用于协调各个组件,还能够执行超越简单信息检索和生成的额外任务,以弥补传统非代理式 RAG 流水线的局限性。

在这里插入图片描述

架构 提出动因 主要特点
Naive RAG LLM 容易“幻觉”,参数化知识难更新;需外部检索补充知识并提供可追溯的证据。 三步流程:文档切块 → 向量检索 → 拼接提示生成
一体化端到端微调(RAG-Sequence & RAG-Token)
减少参数化模型的幻觉,提升开放域 QA 准确率
Advanced RAG 用户查询与知识库语义不对齐;Naive RAG 检索噪声多、生成质量有限。 预检索(Pre Retrieval):查询重写/扩展 (Rewrite)
检索(Retrieval):语义向量检索-
后检索(Post Retrieval):结果重排序、摘要压缩
Modular RAG 随着检索器、LLM 等组件飞速迭代,传统管道难快速集成新功能、维护成本高。 七大模块: Indexing, Pre Retrieval, Retrievel, Post Retrievel, Memory, Generation, Orchestration
将检索、重排序、压缩、生成等拆分为可插拔模块
引入路由、调度、融合算子
模块化设计,灵活扩展,支持多种 RAG 模式(线性、条件、分支、循环)
Agentic RAG 需处理复杂多步任务、多轮决策,单轮静态流程不够;希望结合检索与规划能力。 多智能体架构:主智能体协调子智能体
动态决策:自主判断何时检索、何时生成
支持多轮迭代、任务自校正,提高复杂任务的适应性与鲁棒性

三、RAG的行业应用场景

1、企业客服

用RAG接入产品手册、售后流程,客服机器人实时调用最新资料回答用户问题,减少人工干预
本地化优势:企业数据不出公司,保证数据安全

2、医疗辅助

医生输入患者症状,RAG检索最新临床指南和病例,辅助医生判断可能病因(需专业审核)
本地化优势:患者隐私数据完全本地化处理

3、教育辅导

学生提问数学题,RAG从教材和习题集中找相关知识点,大模型基于教材内容讲解,确保和教学同步
本地化优势:教学内容可控,无需担心网络连接问题

4、法律检索

律师输入案件情况,RAG检索相关法条和判例,大模型生成法律分析,提高检索效率
本地化优势:案件信息保密,符合法律行业数据安全要求

四、RAG的基本工作流程

  1. 用户提问:比如"文心大模型4.5有什么新功能?"
  2. 问题解析:提取关键词"文心大模型4.5"“新功能”
  3. 检索知识库:从你的文档中找关于文心4.5的内容
  4. 获取相关文档:返回2-3段最相关的描述
  5. 生成提示词:把问题+相关文档组合成提示(如"根据以下内容回答:[文档] 问题:…")
  6. 模型生成:本地部署的ERNIE-4.5-21B-A3B模型基于提示生成答案
  7. 输出结果:返回带资料依据的回答

五、RAG系统的核心组件

1、三大核心模块

知识库:你的私有资料(文档、网页、对话记录等)
检索器:从知识库中快速找到与问题相关的内容(关键是"向量数据库")
生成器:本地部署的ERNIE-4.5-21B-A3B模型(基于检索到的内容生成答案)

2、向量数据库是什么?

把文本转换成"数字向量"(类似文字的"数学指纹")
两个文本语义越像,向量距离越近

六、优化小技巧

1、文本分块优化:

长文档拆分时,按"语义完整"拆分(如按段落),避免切断句子

from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=500, 
    chunk_overlap=50,
    separators=["\n\n", "\n", "。", "!", "?", ";"]
)
chunks = text_splitter.split_text(long_document)
2、提示词优化:

明确告诉模型"只基于提供的资料回答"

请严格根据以下资料回答,资料外的信息不要提及。如果资料不足,直接说"根据提供的资料无法回答此问题"。
资料:{context}
问题:{question}

3、Fine-tuning 微调

比RAG更复杂的就是微调了,微调方法是为了提高模型在特定任务上的表现,根据关注的焦点不同,分三种:

3.1、Retriever Fine-tuning(检索器微调)

检索器是指模型中用来从大量数据中检索信息的部分,通常用于处理需要查找和利用外部知识的任务,如问答系统。

微调检索器就是对这部分模型进行特殊训练,使其更擅长从数据集中找到相关信息。

举个例子,就像在图书馆中训练一个图书管理员,使其更快地找到你需要的书。

3.2、Generator Fine-tuning(生成器微调):

生成器是模型中负责产生响应或输出的部分,如文本生成模型中创建新文本的部分。

微调生成器意味着特别训练这个部分,使其在产生输出时更准确、更符合目标任务的要求。

例如,如果你想让模型写诗,你会特别训练它理解和使用诗歌的结构和韵律。

3.3、Collaborative Fine-tuning(协同微调)

这是一种更复杂的微调方法,涉及到模型中的检索器和生成器同时被调整,以更好地协同工作完成任务。

在协同微调过程中,检索器和生成器相互学习,以提高整体性能。检索器提供的信息可以帮助生成器产生更准确的输出,而生成器的需求可以引导检索器寻找更相关的信息。

可以想象成一个团队工作的情况,团队中的每个成员(检索器和生成器)都在相互学习,以更好地协作完成任务。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐