news 2026/6/9 20:43:28

这是我至今为止看到最干最系统地讲解RAG文章

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
这是我至今为止看到最干最系统地讲解RAG文章

本文为朋友 an_time 原创作品,承蒙授权,得以在本公众号发布。想学 RAG,这一篇干货就够你吃透。

一、RAG

1.1 简介

RAG (Retrieval-Augmented Generation),即“检索增强生成”,是目前大模型(LLM)落地应用中最主流的技术方案。它解决了大模型知识更新慢、容易产生“幻觉”以及无法掌握私有数据的问题。

大模型虽然聪明,但它的知识停留在他训练的那一刻。如果问它昨天的新闻或公司的内部文件,它就会胡编乱造。RAG的做法是:在模型回答之前,先去外部知识库里“翻书”查阅资料,把查到的内容喂给模型,让它参考这些资料来写答案。

image.png

参考文档:https://datawhalechina.github.io/all-in-rag/#/

1.2 核心思想

RAG 的核心思想可以理解为:“开卷考试”

  • 传统生成:闭卷考试,全凭记忆,记错或没学过就乱写。

  • RAG:开卷考试,遇到问题先在资料堆里找相关段落,然后根据这些段落组织语言回答。

1.3 实现原理

实现 RAG 通常分为两个阶段:数据准备(离线)检索生成(在线)

A. 数据准备阶段(把书存进库里)

  1. 文本分割 (Chunking):把长文档切成一小段一小段(比如每段 500 字)。

  2. 向量化 (Embedding):利用向量模型把这些文本片段向量化。

  3. 存入向量数据库:把这些向量存到向量数据库,方便以后进行快速的相似度搜索。

B. 检索生成阶段(查书并回答)

  1. 问题向量化:把用户的提问使用相同的向量模型转换成向量。

  2. 检索 (Retrieve):在数向量据库里检索和问题向量相似的文本片段(欧氏距离或余弦距离)。

  3. 增强 (Augment):把找出来的片段和原始问题拼接在一起,组成一个提示词(Prompt)。

  4. 生成 (Generate):把这个提示词发给 LLM,模型根据参考资料输出最终答案。

1.4 优势

  • 准确性高:所有的回答都有据可查,显著降低幻觉。

  • 实时性强:只要更新数据库,模型就能掌握最新信息,无需重新训练模型。

  • 成本低:相比于微调(Fine-tuning)模型,RAG 的部署和维护成本极低。

  • 隐私保护:敏感数据可以留在本地数据库,只在需要时提供给模型参考。

1.5 挑战

虽然原理简单,但在实际应用中仍面临难题:

  • 检索不到:数据库里有,但没搜出来。

  • 检索不准:搜出来很多无关信息。

  • 整合能力差:模型拿到了资料,但没理解好,或者忽略了关键信息。

二、高级RAG

当前RAG所存在的问题,成为很多企业或开发者的痛点,为了解决这些痛点,于是出现了多种方式来优化RAG。在优化的阶段,主要包括:预检索阶段、检索阶段、后检索阶段。

1. 预检索优化(Pre-Retrieval)

预检索优化是指在检索之前的环节进行优化,在预检索优化中存在如下方法:

1.1 摘要索引

  • 简介:

    摘要索引 (Summary Index)是 RAG 架构中一种旨在优化检索效率和准确性的索引策略。它不直接检索原始文本块,而是通过对文档内容进行预处理,生成“摘要”并以此为核心进行检索。

    在标准 RAG 中,如果文档非常长且细节繁琐,直接检索原始切片(Chunks)容易导致信息支离破碎检索不到位

    摘要索引的做法是:先为每个文档(或文档的大段落)生成一段精炼的摘要,并为摘要建立索引。检索时,系统先匹配摘要,确定相关文档后,再深入该文档获取细节。

image.png
  • 核心思想:

    摘要索引的核心思想是“由简入繁,层级定位”

    • 语义提炼:原始文本可能包含大量噪音,摘要保留了核心语义,降低了向量检索的干扰。

    • 全局映射:摘要作为一个“锚点”,代表了背后一整块或一整篇文档的含义,解决了“只见树木不见森林”的问题。

    • 多层级检索:通过建立“摘要 -> 原始文本”的映射关系,实现从宏观意图到微观细节的精准导航。

  • 实现原理:

    实现摘要索引通常分为以下几个步骤:

    A. 文档拆分与总结 (Summarization)

    B. 构建索引 (Indexing)

    C. 检索流程 (Retrieval)

    D. 答案生成 (Generation)

    LLM 结合这些经过筛选的、高度相关的原始文本片段生成答案。

  1. 第一阶段(摘要检索):用户提问后,系统在“摘要库”中寻找最匹配的摘要。

  2. 第二阶段(上下文提取):一旦命中某个摘要,系统会自动提取出该摘要关联的所有原始文本片段(或更细小的切片)。

  1. 向量化摘要:仅对生成的“摘要文本”进行 Embedding(向量化)并存入向量数据库。

  2. 建立链接:在数据库中建立父子关系,即:摘要 ID -> 原始文本块 IDs

  1. 将长文档拆分为较大的语义单元(如章节、页面组)。

  2. 利用 LLM 为每个语义单元生成一段简短的摘要。

  3. 关键点:摘要中通常会保留文档中的核心关键词、实体和主要观点。

  • 优势:

    摘要索引是构建层级化 RAG的基础。它像是一本书的“详细目录”,让 AI 能够先看目录确定位置,再翻到具体页面读细节,从而大大提升了处理长文档时的检索成功率,而且信噪比极高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 13:08:55

【SSM毕设源码分享】基于ssm+vue的线上新冠疫苗管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/5 19:10:59

《CODE VEIN 噬血代码 II》百年血战背景全解析与下载指南

《CODE VEIN 噬血代码 II》作为万代南梦宫在2026年初推出的重磅续作,成功在前作的坚实基础上,构建了一个更为宏大、深邃的暗黑幻想世界。它将“时空穿越”与“末日拯救”的核心命题紧密结合,为玩家带来一场充满挑战与感动的冒险。 游戏核心&a…

作者头像 李华
网站建设 2026/6/6 21:08:10

供应 力科 CP031 100M 30A电流探头

力科CP031探头 是一款高性能电流探头,适用于各种电子测试应用。‌ 技术规格和性能参数 ‌最大连续输入电流‌:30A ‌最大峰值电流‌:50A ‌带宽‌:100 MHz ‌灵敏度‌:10 mA/div ‌耦合方式‌:交流、直流、…

作者头像 李华
网站建设 2026/5/31 0:39:54

2026最新CDGA备考重点学习笔记(第3章)

二、核心内容与目标 三、业务驱动因素 四、数据治理程序特征 五、数据治理原则 六、数据治理组织架构 七、数据治理活动 八、数据治理工具与方法 九、数据治理度量指标 一、核心定义与职能 数据治理定义 数据治理是对数据资产管理行使权力、控制和共享决策的系列活动&#xff…

作者头像 李华
网站建设 2026/5/29 0:23:27

一个开源工具:10 分钟让 Moltbot/Clawdbot 接入飞书机器人

原文:WY 我开源了一个工具:10 分钟让 Clawdbot 接入飞书机器人 地址:https://x.com/akokoi1/status/2016420074203287825为了解决 Clawdbot 官方不支持国内通信软件的问题,我做了一款桥接工具,用于连接飞书和 Clawdbot…

作者头像 李华