什么是RAG?一文搞懂检索增强生成技术

在大语言模型(LLM)如ChatGPT、Claude、Gemini日益强大的今天,人们希望它们不仅能"生成",还要"准确生成"。然而,LLM训练的数据往往是静态的、封闭的,这使得它们在面对时效性强、专业性高、上下文复杂的问题时,力不从心。

在有些时候,企业内部或者事业部门内部的数据是不允许公开上传的,那么也就没有办法享受到大模型的服务,生产力也得不到解放。

这时,RAG(Retrieval-Augmented Generation,检索增强生成)应运而生。它是连接"生成能力"与"外部知识"的桥梁,让LLM不再是"闭门造车",而成为真正的知识型智能体。

一、RAG的基本原理

RAG是一种通过**"先检索、后生成"**的方式,是一个提升语言模型生成准确性的技术框架。其核心流程如下:

  1. Query输入:用户提出一个问题或任务。比如我问"明天的天气怎么样",大语言模型大概率不会知道明天的天气,因为训练数据时间范围是今天前。
  2. Retriever检索器 :从外部知识库(文档、数据库、网页等)中检索与问题相关的内容。我问"明天的天气怎么样"之后,假设知识库里面刚好就有明天的天气信息,那么就会经过检索得到对应的语料信息"明天气温50度(千万不要出门)"。
  3. Generator生成器 :将检索到的内容连同问题一起输入大语言模型,让它生成更加精准、上下文丰富的回答。还是拿上面的我问"明天的天气怎么样",Generator生成器 得到Retriever检索器 检索到的**"明天气温50度(千万不要出门)"和我问的问题 "明天的天气怎么样"**一起输入到LLM中,得到回答"明天气温50度,达到历史新高,请您注意一定不要出门,不然容易晒伤"。

简单来说,RAG把**"我说我知道的"变成 "我先当自己不知道"-> "看看我的背包里有什么知识"-> "哎找到了"->"总结一下再说"**。

二、为什么需要RAG?

大模型有知识盲点、时间滞后,原因在于:

  • 训练数据是静态的,无法获取实时信息;
  • 在专业领域(如医疗、金融、法律)中,模型缺乏最新的、结构化的知识;
  • 模型生成易产生"幻觉"(hallucination),即编造事实。

RAG通过引入检索机制,可以实时接入外部信息,同时精准聚焦专业文档,显著降低模型幻觉率。

三、RAG的技术架构

RAG的系统主要分为两个核心模块:Retriever + Generator,可进一步细化为以下几部分:

1. 数据预处理与切分

  • 文档按结构或语义切分成段(chunk),如按标题、段落、Token窗口等,不同的文档处理方法不同,比如有图片,pdf,word,txt等等,后续会专门出一篇文章详细介绍以下不同文档的处理方法;
  • 使用向量化技术(如BERT、GTE等)构建**向量索引库,**向量数据库是深度学习领域专门使用的数据库,具有极快的查询速度,其中能够查询向量之间的相似度的特性能够很好的为RAG服务。

2. 检索阶段(Retrieval)

  • 稀疏检索:如 BM25,依赖关键词匹配;
  • 密集检索:如DPR、ColBERT,基于语义相似度;
  • 混合检索(Hybrid):结合两者,提升覆盖率与精度。

3. 生成阶段(Generation)

  • 使用LLM(如ChatGPT、LLaMA、Mistral)输入"问题+检索结果",生成高质量回答。

RAG是一项将"语言生成"与"知识检索"紧密结合的关键技术,正快速从实验室走向产业。无论是NLP工程师、产品经理还是AI应用开发者,理解并掌握RAG,都将为我们开启智能系统的新可能。


接下来我将深入拆解RAG系统全景图谱,带你了解数据处理、检索增强、生成优化、评估反馈、架构部署到行业应用的全链路流程!

文中图片来自

一图了解RAG的基本流程 - 小红书

RAG 方案体系介绍 - 小红书

非常感谢,如有侵权请联系删除!

相关推荐
独家回忆3645 分钟前
每日算法-250601
数据结构·算法
YONYON-R&D13 分钟前
DEEPSEEK帮写的STM32消息流函数,直接可用.已经测试
算法·消息流
Steve lu2 小时前
回归任务损失函数对比曲线
人工智能·pytorch·深度学习·神经网络·算法·回归·原力计划
蒙奇D索大2 小时前
【数据结构】图论核心算法解析:深度优先搜索(DFS)的纵深遍历与生成树实战指南
数据结构·算法·深度优先·图论·图搜索算法
让我们一起加油好吗2 小时前
【基础算法】高精度(加、减、乘、除)
c++·算法·高精度·洛谷
不会敲代码的灵长类2 小时前
机器学习算法-k-means
算法·机器学习·kmeans
Studying 开龙wu2 小时前
机器学习有监督学习sklearn实战二:六种算法对鸢尾花(Iris)数据集进行分类和特征可视化
学习·算法·机器学习
鑫鑫向栄3 小时前
[蓝桥杯]缩位求和
数据结构·c++·算法·职场和发展·蓝桥杯
Tony__Ferguson3 小时前
简述八大排序(Sort)
数据结构·算法·排序算法
芜湖xin3 小时前
【题解-洛谷】P9422 [蓝桥杯 2023 国 B] 合并数列
算法·队列