当前位置: 首页 > news >正文

RAG(检索增强生成)工作原理与流程详解

检索增强生成(Retrieval-Augmented Generation,RAG)是一种将信息检索与大语言模型(LLM)相结合的生成式 AI 架构。其核心目标是在不重新训练模型的前提下,为 LLM 注入外部知识,缓解知识截止、幻觉以及领域知识不足等问题。本文系统性地阐述 RAG 的工作原理与完整流程。

1. RAG 的基本概念

大语言模型在预训练阶段已将大量知识内化至参数中,但存在明显局限:

  • 知识存在截止日期,无法感知训练后发生的事实。
  • 面对垂直领域、私有文档或实时数据时,模型缺乏相关背景。
  • 容易产生“幻觉”,即编造事实性错误内容。

RAG 的解决思路是:在生成回答之前,先从外部知识库中检索与用户问题相关的文档片段,将这些片段作为“参考上下文”与原始问题一同送入 LLM,从而让模型基于检索到的证据生成答案。这一模式将生成过程解耦为“检索”与“生成”两个环节,增强了输出的可控性、可解释性和时效性。

2. RAG 的整体架构与工作流程

RAG 系统的运行通常分为离线索引构建和在线查询处理两个阶段。以下为端到端的流程示意:

离线阶段(知识库构建) 文档源 → 文档解析 → 文本分块 → 嵌入向量化 → 向量索引存储 在线阶段(查询与生成) 用户问题 → 查询向量化 → 相似度检索 → 获取 Top-K 文档块 → 构造提示词 → LLM 生成回答

2.1 离线阶段:知识库准备

文档加载与解析

支持多种格式(PDF、HTML、Markdown、Word 等),通过文档加载器提取纯文本内容,并保留必要的元数据(如标题、章节、来源等)。

文本分块(Chunking)

长文档需切割为适当大小的语义单元,称为“块”(chunk)。分块策略直接影响检索粒度与生成质量:

  • 固定长度分块:按字符或 Token 数分割,简单高效,但可能割裂语义。
  • 基于分隔符的分块:按段落、句号等自然边界分割,保持语义相对完整。
  • 递归分块:使用分隔符层次结构(段落 → 句子 → 词语)逐步分割,兼顾完整性与长度控制。
  • 语义分块:利用模型判断句子间相似度,将语义连贯的句子归入同一块,但计算成本较高。

块大小过大会引入噪声,降低检索精度;块大小过小则可能丢失上下文,使检索结果碎片化。典型块大小在 256~1024 Token 之间,并常设置块间重叠(overlap)以保留边界处的连续信息。

嵌入向量化

使用嵌入模型(Embedding Model)将每个文本块映射为固定维度的稠密向量。该向量编码了文本的语义信息。常用的嵌入模型包括 OpenAItext-embedding-3系列、Cohere Embed、bge-largeall-MiniLM-L6-v2等。

向量索引构建

将生成的向量集合存入向量数据库(如 Milvus、Qdrant、Pinecone、Weaviate 等),并构建近似最近邻(ANN)索引以支持高效检索。索引算法的选择(HNSW、IVF、DiskANN 等)需在速度、精度和内存占用之间权衡。

2.2 在线阶段:检索与增强生成

查询处理与向量化

用户输入自然语言问题后,系统使用与离线阶段相同的嵌入模型将查询文本转换为查询向量。保持嵌入空间一致是确保检索有效性的前提。

相似度检索(Retrieval)

查询向量在向量数据库中执行相似度搜索,通常采用余弦相似度或内积作为度量。返回与查询向量最相似的 Top-K 个文本块及其相似度分数。K 的取值需要平衡信息充分性与上下文窗口限制,典型值在 3~10 之间。

为提高检索质量,常引入以下优化:

  • 查询重写:利用 LLM 对原始问题进行扩展或分解,以提升召回率。
  • 混合检索:结合稀疏检索(如 BM25)的关键词匹配能力,对向量检索与关键词检索的结果进行融合排序。
  • 重排序(Re-ranking):使用更精准但计算成本更高的排序模型(如 Cohere Rerank、bge-reranker)对召回结果进行二次排序,筛选出最相关的块。
上下文构造与 Prompt 组装

将检索到的 Top-K 文档块内容按一定格式拼接,与原始用户问题组合成提示词(Prompt)。典型的 Prompt 模板如下:

请根据以下参考信息回答问题。如果参考信息不足以回答问题,请明确说明。 参考信息: {context} 问题:{question} 回答:

其中{context}为拼接后的文档块,可附带来源标记以提高可信度。

LLM 生成回答

组装完成的 Prompt 送入大语言模型(如 GPT-4、Claude、开源 Llama 3 等),模型在给定上下文的条件下生成最终答案。此时模型的行为从“完全依赖内部知识”转变为“基于检索证据的阅读理解与总结”。

2.3 可选增强:Agentic RAG 与迭代检索

在基础 RAG 之上,更复杂的架构允许模型主动决定何时检索、如何检索,甚至进行多步推理与工具调用。例如:

  • Self-RAG:模型在生成过程中自我评判是否需要检索,并反思生成内容的相关性与事实性。
  • ReAct:交替进行推理与行动,模型可多次调用检索工具并整合逐步获取的信息。
  • Adaptive RAG:根据问题复杂度动态调整检索策略。

这些模式将 RAG 从固定流程扩展为灵活的 Agent 行为,但仍以基础的检索-生成循环为根基。

3. 工作流程中的关键要素

3.1 嵌入模型的选择

嵌入模型决定了语义空间的分布质量。不同模型对同一文本产生的向量差异显著,替换模型时需重新评估相似度阈值、检索性能,甚至重新构建索引。

3.2 向量数据库与索引类型

向量数据库不仅存储向量,还管理元数据过滤、增量更新和分布式扩展。索引类型的选择直接影响检索延迟和召回率。例如,HNSW 在内存中实现高速搜索但占用资源大;IVF 配合量化技术可压缩存储,适合超大规模数据集。

3.3 相似度度量与阈值

余弦相似度是主流度量,但值的绝对值因模型而异。设定合理的相似度阈值可用于过滤不相关结果,避免引入噪声。工程实践中常结合归一化向量,使用内积代替余弦计算以提升效率。

3.4 上下文窗口管理

大语言模型的上下文窗口虽然不断扩大,但有效利用仍至关重要。需在 Prompt 中对检索到的文档块进行排序(如按相似度降序)、截断,并避免因过多无关内容挤占有效空间。必要时可采用摘要压缩或对长文档进行层级检索(如先检索段落再检索具体句子)。

4. RAG 相对于纯生成模型的优势

  • 知识实时性:外部知识库可随时更新,无需重新训练模型。
  • 可解释性:生成的答案可追溯至具体来源文档,便于验证。
  • 领域适配:只需构建领域知识库,即可让通用模型具备专业能力,降低微调成本。
  • 幻觉缓解:当答案被约束在检索到的证据范围内时,模型凭空捏造的概率显著降低。

5. 总结

RAG 通过将检索系统与生成模型深度结合,构建了一套灵活、可控、可扩展的知识问答架构。其核心流程——文档解析、分块、向量化、相似度检索、上下文组装与 LLM 生成——构成了现代 AI 应用中知识检索系统的标准范式。理解这一流程及其每个环节的设计考量,是构建高质量 RAG 系统的前提。在此基础上,开发者可根据业务需求引入混合检索、重排序、查询改写以及 Agent 化策略,持续优化性能与准确性。

http://www.jsqmd.com/news/1356672/

相关文章:

  • Mac 党狂喜冒险岛怀旧服终于能玩上了!
  • SolidWorks_标准零件库19_标准件与PDM集成
  • Ollama部署Qwen3.5-9B破限版:本地大模型低成本实践指南
  • 技术项目深度拆解与落地验证框架:从信息碎片到可执行方案
  • Origin 2024b 在 Windows 系统下的完整安装与配置指南
  • 从零部署开源AI助手Codex:集成DeepSeek与RuoYi-Vue-Pro实战指南
  • Flux模型图像生成实战:Krea 2风格库与深度图ControlNet精准控制
  • 多智能体系统实战:从部署到应用,构建高效AI协作团队
  • 工业园区综合能源系统低碳调度优化实践
  • 终极NVIDIA显卡优化指南:免费开源工具解锁隐藏性能
  • 大模型名词精讲 01:LLM
  • 如何永久保存微信聊天记录?这个开源工具让你的数字记忆不再丢失
  • 硅光子集成:光电共封装的制造难点
  • 阿里巴巴P3C Java编码规范终极指南:高效提升代码质量的完整方案
  • 专业视频剪辑的6大核心策略:从混乱素材到目标驱动的叙事创作
  • EVERYTHING搜索RAR与DWG文件的解决方案
  • 大模型冲击下的垂直软件:小白也能看懂的行业变革与收藏指南
  • AI时代测试工程师的转型:从执行到策略设计
  • Pathway框架:Python实时ETL的高性能解决方案
  • 2026年HDMI矩阵厂商选购:正规品牌推荐与避坑
  • 江西无缝管厂家/D400球墨铸铁篦子生产厂家怎么联系-德成鑫金属制品 - 行业推荐官【认证】
  • 沉浸式体验设计:用数字技术复现80年代电子表倒爷的职业场景
  • NVIDIA Profile Inspector:解锁200+隐藏显卡设置,解决游戏卡顿、画面撕裂、延迟过高三大难题
  • Kimi K3 深度测评:抛开「百万上下文」,它在工程落地上的真实表现如何?
  • 2026年酒店玻璃隔断厂家推荐指南:从材质到工艺的优选策略 - geo交流
  • Linux操作系统-centos7如何离线安装桌面环境
  • SolidWorks_标准零件库11_异型孔向导应用
  • 2026广州南沙漏水检测实用全攻略 正规机构服务明细及选购指 - 盛隆防水
  • 基于SqlSugar初始化数据库
  • 2026年Kali Linux下载安装完全指南:虚拟机、物理机与双系统全方案解析