RAG 原理与核心概念

RAG(检索增强生成)技术通过结合信息检索和生成式 AI,有效解决了传统大语言模型的知识截止、幻觉等问题。本章将深入解析 RAG 的核心概念和工作原理,详细介绍其两阶段处理流程:离线的知识库构建和实时的查询响应。我们还将探讨 Cloudflare 提供的 RAG 参考架构,帮助您理解如何在实际项目中应用这些概念,构建高效、可靠的 AI 应用系统。

什么是 RAG

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将信息检索与生成式 AI 相结合的技术架构。它通过以下方式解决了传统大语言模型的关键问题:

传统 LLM 的局限性:

  • 知识截止点:模型训练数据有时间限制,无法获取最新信息
  • 幻觉问题:模型可能生成看似合理但实际错误的信息
  • 领域专业性不足:对特定领域的深度知识掌握有限
  • 个性化缺失:无法基于用户的个人知识库进行回答

RAG 的解决方案:

RAG 通过引入外部知识库,让 AI 模型在生成回答前先检索相关信息,从而显著提高回答的准确性和时效性。这种方法特别适合构建个人数字分身,因为它可以基于你的个人文档、博客文章、经验总结等生成符合你风格和观点的回答。

RAG 的工作流程

RAG 系统的工作流程分为两个主要阶段:知识库构建(离线处理)和查询响应(实时处理)。

RAG 工作流程示意图
RAG 工作流程示意图

在知识库构建阶段,首先需要收集和预处理各种格式的文档(如 Markdown、PDF、TXT),清理无关内容并标准化文本。随后,将长文档合理分块,确保语义完整,并为每个文本块添加元数据(如标题、来源、时间)。接着,利用嵌入模型将这些文本块转换为高维向量,捕捉其语义信息,并将向量存入向量数据库以便后续检索。

进入查询响应阶段,系统会将用户的问题同样通过嵌入模型转为向量,并在向量数据库中检索出最相关的文档块(通常基于余弦相似度或欧氏距离,返回 top-k 结果)。这些检索到的内容会被整合为上下文,与用户问题一起构建提示词,最终交由大语言模型生成基于事实的准确回答,并返回给用户。

RAG 参考架构

说明
以下内容为 Cloudflare 官方提供的 RAG 参考架构示例,旨在帮助理解主流无服务器 RAG 系统的设计思路,并非本项目实际采用的架构。实际部署时可根据自身需求进行调整和优化。详情请参考 Build a Retrieval Augmented Generation (RAG) AI

Cloudflare 提供了一套完整的 RAG 参考架构,展示了如何在无服务器环境中构建高效、可扩展的 RAG 系统。该架构充分利用了 Cloudflare 的边缘计算平台和相关服务。

RAG 参考架构的两大阶段

RAG 系统的实现通常分为两个核心阶段,每个阶段都承担着关键的功能:

  • 知识库构建阶段(Knowledge Seeding)
    在这一阶段,原始文档会被上传至系统,经过初步处理后,消息被异步推送到队列中。消费者进程会批量处理这些文档,利用嵌入模型将文本转化为高维向量,并存入向量数据库以便后续检索。同时,原始文档也会被持久化保存。整个流程通过队列机制实现任务的可靠传递和重试,确保数据一致性和处理的健壮性。

  • 知识查询阶段(Knowledge Queries)
    用户发起查询请求后,系统会将查询内容转化为向量,并在向量数据库中检索最相关的文档片段。随后,系统根据检索结果从持久化数据库中获取原始文档,将这些内容与用户查询一同传递给生成模型,最终生成基于事实的响应。

这种架构充分利用了 Cloudflare Workers 的无服务器和边缘计算能力,结合 Queues 的异步处理、Workers AI 的嵌入与生成、Vectorize 的高效检索以及 D1 的数据持久化,开发者可以快速搭建高性能、可扩展的 RAG 应用。

RAG 的分类

在 RAG 技术的发展过程中,研究者和工程师们提出了多种不同的 RAG 架构。RAG 架构可以根据其提出动因和主要特点分为以下几类:

1. Naive RAG
提出动因:LLM 容易出现“幻觉”,参数化知识难以更新,需要外部检索补充知识并提供可追溯的证据。
主要特点:采用三步流程(文档切块 → 向量检索 → 拼接提示生成),支持一体化端到端微调(如 RAG-Sequence 和 RAG-Token),能够减少模型幻觉,提升开放域问答的准确率。

2. Advanced RAG
提出动因:用户查询与知识库语义不完全对齐,Naive RAG 检索噪声较多、生成质量有限。
主要特点:引入预检索(如查询重写/扩展)、检索(语义向量检索)、后检索(结果重排序、摘要压缩)等多阶段处理,显著提升检索相关性和生成质量。

3. Modular RAG
提出动因:随着检索器、LLM 等组件快速迭代,传统管道难以快速集成新功能,维护成本高。
主要特点:将整个流程拆分为可插拔的七大模块(如 Indexing、Pre Retrieval、Retrieval、Post Retrieval、Memory、Generation、Orchestration),支持检索、重排序、压缩、生成等功能模块化组合,并引入路由、调度、融合算子,实现灵活扩展和多种 RAG 模式(线性、条件、分支、循环)。

4. Agentic RAG
提出动因:需要处理复杂多步任务和多轮决策,单轮静态流程已无法满足需求,希望结合检索与规划能力。
主要特点:采用多智能体架构,由主智能体协调子智能体,具备动态决策能力(自主判断何时检索、何时生成),支持多轮迭代和任务自校正,提升复杂任务的适应性和鲁棒性。

需要注意的是,本书中使用的 RAG 示例属于 Advanced RAG 类型。它不仅实现了基础的检索和生成流程,还包含了查询重写、结果重排序等高级功能,以提高检索准确性和生成质量。

RAG 架构的优势

RAG 架构的优点包括:

  • 回答更准确可靠,内容可追溯到具体文档
  • 支持个性化和专业化知识库,适合数字分身场景
  • 无需训练专用模型,知识库可实时更新,维护成本低
  • 系统具备自动扩缩容和全球低延迟服务能力

RAG 架构不仅提升了聊天机器人的智能水平,也极大降低了开发和维护的门槛,为各类 AI 应用提供了坚实的基础。

文章导航

独立页面

这是书籍中的独立页面。

书籍首页