非专业人士的AI课4:一文说清楚RAG的工作流程以及与微调的区别

2025-3-15|2026-3-14
Pavel Han
Pavel Han
date
Mar 15, 2025
slug
2025-03-15-the-workflow-of-RAG
status
Published
tags
神经网络理论
LLM
summary
本系列文章的目标是从非AI从业者的角度出发,去尝试理解AI及其大模型在应用中的基本概念,争取通过对这些概念的深入理解和澄清,建立对大模型的工作机制流程以及应用框架方面的知识结构,从而在我们的生活和工作中更好的使用AI。
type
Post
category
AI
AI summary
本系列文章的目标是从非AI从业者的角度出发,去尝试理解AI及其大模型在应用中的基本概念,争取通过对这些概念的深入理解和澄清,建立对大模型的工作机制流程以及应用框架方面的知识结构,从而在我们的生活和工作中更好的使用AI。

RAG

RAG(Retrieval Augmented Generation,检索增强生成),是一种结合了大型预训练语言模型与知识检索技术的新型生成模型,为应对大模型应用开发中的诸多挑战提供了新的思路。

生成式大模型存在的问题

大模型并不具备在环境不断变化的场景中回答特定问题所需的全面知识。例如,早期的ChatGPT 3.5版本的预训练语料库时间截至2021年,这意味着模型无法准确输出2021年以后的事实性问题,这正是现代大模型所面临的知识更新困境。
实际上,对于一个大模型来说,更新基础模型知识库是非常困难的一件事情。首先,需要保证预训练数据的质量;其次,更新知识库后的模型通常都需要重新训练,至少要将新数据与旧数据按照一定的比例进行混合训练,而不能仅仅使用新数据,否则会出现灾难性遗忘的问题。总之,大模型的知识更新问题将成为模型的一个重要痛点,并且是一个值得研究的课题。
RAG则可以很好地解决以上问题。该框架可以使模型访问超出其训练数据范围之外的信息,使得模 型在每次生成时可以利用检索提供的外部更专业、更准确的知识,从而更好地回答用户问题。

RAG的工作流程

RAG的完整工作流程主要涉及3个阶段:数据准备、数据召回和答案生成。输出质量的高低主要取决于数据质量和检索策略。
  • 数据准备阶段包括识别数据源、从数据源提取数据、清洗数据并将其存储在数据库中。
  • 数据召回阶段包括根据用户输入的查询条件从数据库中检索相关数据。
  • 答案生成阶段则是利用检索到的数据和用户输入的查询条件生成输出结果。
下图是一个使用LLM大语言模型和本地知识库数据库(问题相关的知识和信息已经保存在本地知识库中)配合来实现的RAG系统的工作流程。
notion image
  • 1.用户通过提示词输入查询RAG系统的问题。
  • 2.系统对用户提出的问题进行分解,首先调用搜索引擎从本地知识库数据库中检索与查询问题相关的知识片段。
  • 3-4,把查询到的知识片段作为查询的上下文放到用户输入提示词中。
  • 最后,LLM对用户输入的查询问题以及上下文信息进行解析,生成文本答案。
相比于大模型的直接推理输出,RAG系统还有一个非常突出的优势,就是其输出信息的可溯源性。众所周知,在大模型领域中,模型基本都基于Transformer的解码器结构,因此大模型的生成结果存在不可解释性的问题。而RAG系统配合大语言模型的输出结果,不仅给出了答案,还提供了信息溯源的引用链接。因此,相较于纯粹的大模型生成,RAG具有更强的可解释性。
实际上现在我们使用的大模型普遍都提供了联网搜索的功能,而这个联网搜索的功能本质上就是RAG的实现。在回答问题之前首先配合搜索引擎查询有参考价值的网页,对网页内容进行检索处理,然后把检索到的相关内容放在大模型对话的上下文中,最终由大模型返回结果。
以下是使用deepseek不打开联网搜索功能的情况下,查询2024年美国大选的结果,因此deepseek的当前模型训练数据中只包含2023年10月份之前的信息,所以无法给出准确的答案。
notion image
以下开启了联网搜索(相当于打开RAG功能),可以通过联网查到最新的信息,并且还给出了信息溯源的链接。
notion image

RAG与微调的对比

模型微调是指在一个特定任务上用一定量的数据来训练模型的过程,通过在特定数据集上微调可以提高模型在特定数据集上的性能。如果有足够大的监督数据集,且数据集不会发生改变,那么微调是一个很不错的方法。然而,如果数据集是动态的,就需要不断地重新训练模型以跟上数据的变化,这种情况下使用微调的方案,成本就会很高,而且系统的灵活性很差。
notion image
总的来说,RAG位于大模型应用难易链条的中部,它既不像重新训练或从头构建模型或者微调模型那么难,也不像通过简单提示工程直接向大模型提问那么容易。它克服了直接微调模型的3个缺点——成本高、信息更新困难以及缺乏可观察性。相较而言,由于RAG无须训练,因此成本较低;由于数据是实时获取的,因此始终是最新的;由于可以显示检索到的文档,因此结果更加可信。
非专业人士的AI课5:AI Agent的框架与工作流程解析非专业人士的AI课3:LLM大语言模型项目的典型开发流程详解
Loading...