RAG工作原理详解:从0到1搞懂检索增强生成
开头小李是电商客服主管手下20个客服每天回答上千条咨询。60%的时间都在回答重复问题怎么退货、发货多久到...老板说用大模型啊小李试了试发现ChatGPT要么胡说八道要么说不知道。它不知道公司的私有知识。那怎么办这就是今天要讲的——RAG检索增强生成。01 RAG是什么RAG全称Retrieval-Augmented Generation翻译过来就是检索增强生成。怎么理解用开卷考试来类比传统大模型就像一个记忆力超群的学生但他只记得训练时学过的知识。你问他公司内部的文档他没见过自然答不上来。RAG就是给这个学生配了一本开卷考试的资料书。每次回答问题前他先去资料书里查相关内容再基于这些内容回答。所以RAG的核心就两步先检索再生成。① 用户提问② 系统从知识库里检索相关内容③ 把问题和检索到的内容一起发给大模型④ 大模型基于这些内容生成答案就这么简单。02 为什么需要RAG先说大模型的三个硬伤幻觉大模型会一本正经地胡说八道因为它本质上是概率生成不是事实查询。知识滞后大模型的知识是训练时冷冻的之后的新政策、新产品它都不知道。黑盒你不知道它为什么这么回答也没法验证答案的真实性。那有没有其他方案方案1上下文注入每次提问都把文档传给大模型。问题是文档太长会超出上下文窗口而且每次都传太浪费token。方案2微调把私有知识训练进大模型。问题是成本高、时间长而且知识一旦进入模型就变成黑盒没法溯源。所以RAG是更好的选择✓ 不需要改造大模型只需要建一个知识库✓ 知识可以随时更新✓ 答案可以溯源到原文档✓ 成本低所有公司都用得起03 RAG的完整流程RAG的流程分两部分知识库构建提问前和检索生成提问后。继续用开卷考试来类比。 3.1 知识库构建提问前想象你要参加一场开卷考试需要做三件事第一步分片Chunking你不能把整本教材搬进考场。你要把重点内容整理成笔记卡片每张卡片讲一个知识点。RAG也是一样。文档太长大模型处理不了。所以要把文档切成一个个知识片段Chunk。切分方式有很多按字数切、按段落切、按章节切...关键是保证每个片段逻辑完整不能断章取义。第二步Embedding向量化你怎么快速找到需要的笔记靠标签或关键词。RAG怎么知道哪个片段讲什么靠向量。什么是向量向量就是一个数字数组比如 [1.0, 2.3, 5.76, -3.6]。每个向量都有维度维度就是数组里数字的个数。你可以把向量理解成文本的坐标。意思相近的文本它们的向量在空间上的距离也近。比如苹果怎么吃和苹果的营养价值这两个问题意思相近它们对应的向量在空间上就会靠得很近。什么是EmbeddingEmbedding就是把文本转换成向量的过程。这个过程由Embedding模型完成。就像翻译官把中文翻译成英文Embedding模型把文本翻译成向量。什么是向量数据库向量数据库就是专门存储和查询向量的数据库。它存两样东西• 原始文本比如苹果怎么吃• 对应的向量比如 [0.2, 0.8, 0.5, ...]为什么要存原始文本因为向量只是中间结果最终还是要用原始文本来回答问题。第三步入库把所有知识片段都Embedding成向量存进向量数据库。你的开卷考试小抄就准备好了。 34.2 检索与生成提问后现在你坐在考场上看到考题了。第一步Query向量化你先把考题翻译成向量才能去数据库里找相似的内容。用户提问后系统用同一个Embedding模型把问题转换成向量。注意必须用同一个模型。如果知识库用模型A向量化查询用模型B就像一个人用GPS坐标另一个人用北斗坐标没法比较。第二步召回Retrieval召回就是搜索与用户问题相关片段的过程。你拿着问题的向量去向量数据库里找最相似的Top-K个片段。比如K10就找出最相似的10个片段。怎么判断相似靠向量相似度计算。三种相似度计算方法① 余弦相似度计算两个向量之间夹角的cos值。夹角越小相似度越高。公式cos(θ) (A·B) / (|A| × |B|)余弦相似度只看方向不看长度。适合文本相似度计算。② 欧式距离计算两个向量之间的直线距离。距离越小相似度越高。公式d √(Σ(Ai - Bi)²)欧式距离既看方向也看长度。③ 点积计算两个向量的点积。点积越大相似度越高。公式A·B Σ(Ai × Bi)点积既考虑方向也考虑长度。如果两个向量方向一致它们越长点积越大。召回追求的是快和全——宁可错杀一千不可放过一个。返回的结果可能不都精准回答用户问题但相关内容都在里面。第三步重排Reranking召回了10个片段但它们的排序是基于向量距离的不一定最优。重排模型Reranker会用更精细的方式重新打分排序选出最相关的Top-3。召回是从所有片段里挑10个重排是从这10个里再挑3个最相关的。为什么不直接在召回阶段挑3个因为召回要快重排要准。召回用轻量级方法快速筛选重排用更复杂的模型精细排序。第四步生成把考题和重排后的Top-3片段一起发给大模型。大模型基于这些内容生成答案。提示词里要明确告诉大模型只允许基于给定的信息回答不要自由发挥。这样大模型就相当于有了开卷考试的资料答案的准确性和可靠性就有了保障。04 什么场景用RAGRAG适合两类场景对内和对外。 对内场景① 企业知识库/智能问答• 新员工入职助手回答公司政策、HR制度、IT流程• 产品知识问答销售查产品参数、功能对比• IT支持助手员工查技术文档、故障排查指南② 专业领域辅助• 法律文档检索律师查案例、法条• 医疗信息查询医生查药品、诊疗指南• 金融研报分析分析师查行业数据、公司财报 对外场景① 智能客服• 7x24小时在线答疑基于产品手册回答客户问题• 售后支持基于用户手册提供故障排查向导② 电商导购• 个性化商品推荐基于用户需求推荐商品• 产品对比多款产品参数对比分析核心判断标准如果你的业务有私有知识需要让AI理解或者知识更新频繁大模型跟不上就用RAG。总结回顾一下今天的内容① RAG是什么先检索再生成。给大模型配一本开卷考试的资料书。② 为什么需要RAG大模型有幻觉、知识滞后、黑盒三个硬伤。RAG低成本、可溯源、易更新。③ RAG怎么实现• 知识库构建分片 → Embedding向量化 → 存入向量数据库• 检索生成Query向量化 → 召回 → 重排 → 生成④ 什么场景用有私有知识、需要准确答案、知识更新频繁的场景。你能带走什么下次老板再问你怎么让大模型读懂我们的文档你知道• 不能直接问要建一个RAG知识库• 核心流程是分片、向量化、检索、生成• 关键是保证检索质量让大模型拿到正确的开卷资料我是立红一个致力于将复杂AI技术转化为产品价值的产品经理。如果你对Agent、AI工作流或更多AI落地场景感兴趣欢迎关注我下一篇文章再见。

相关新闻

跨境电商多平台统一架构实战——亚马逊/eBay/Shopee数据集成与全球运营体系

跨境电商多平台统一架构实战——亚马逊/eBay/Shopee数据集成与全球运营体系

文章目录 每日一句正能量 一、前言 二、多平台统一架构设计 2.1 架构总览 2.2 统一API网关实现 2.3 业务中台层 三、多语言商品管理系统 3.1 系统架构 3.2 翻译引擎设计 3.3 多语言SEO优化 四、实时汇率转换与动态定价 4.1 汇率转换流程 4.2 汇率服务实现 4.3 动态定价策略 五、…

2026/9/29 6:37:27 阅读更多 →
《自然》期刊论文导读:CRISPR与量子计算新突破

《自然》期刊论文导读:CRISPR与量子计算新突破

1. 项目概述 《自然》作为全球顶尖的学术期刊,每周都会发表大量前沿科学研究成果。2020年3月5日出版的这期也不例外,涵盖了从生命科学到物理学的多个领域。对于科研工作者和学术爱好者来说,及时了解这些最新研究动态至关重要。 我作为一名长…

2026/10/11 20:49:46 阅读更多 →
Codex接入DeepSeek三种方式全解析:从原理到实战配置指南

Codex接入DeepSeek三种方式全解析:从原理到实战配置指南

最近在开发者圈子里,Codex 和 DeepSeek 的组合成了一个热门话题。很多朋友看到别人用 Codex 流畅地调用 DeepSeek 模型写代码、分析问题,自己也想试试,结果一搜教程就懵了:又是要配置 API 中转,又是要搞本地部署&#…

2026/10/5 17:03:32 阅读更多 →

最新新闻

可靠性数据统计方法与R语言实战:从配套数据集到Weibull建模

可靠性数据统计方法与R语言实战:从配套数据集到Weibull建模

简介:《Statistical Methods for Reliability Data》配套数据集面向可靠性建模学习者和从业者,是这本经典著作的实操补充。包内围绕寿命分布、生存分析、故障率函数、可靠性增长、多组件系统可靠性、寿命试验设计与统计推断等核心知识点,提供…

2026/10/12 20:07:21 阅读更多 →
AI编程agent失控?用最小规格驱动工作流守住代码边界

AI编程agent失控?用最小规格驱动工作流守住代码边界

我本来是想抄作业的。Spec Kit、OpenSpec、Superpowers 这三个名字,我在搜索框里来回扫了不止一遍。原因很简单:最近一段时间的 AI 编程 agent 越来越难控制,改一个登录模块,它能顺手把我另一个文件的变量名也改了;说好…

2026/10/12 20:07:21 阅读更多 →
自建技术博客的完整实践:从静态站点生成到命令行发布

自建技术博客的完整实践:从静态站点生成到命令行发布

1. 起点:为什么要自建博客,而不是继续躺在平台里我相信每个写过一段时间技术博客的人,都会在某一天产生一个念头:我写的内容到底属于谁?这个念头在我身上盘旋了很久。平台给流量、给推荐、给了现成的排版和读者&#x…

2026/10/12 20:07:21 阅读更多 →
开放代码评审实践:从零搭建轻量级评审工具与流程

开放代码评审实践:从零搭建轻量级评审工具与流程

1. 为什么“代码评审”这件事值得单独拿出来做一套工具代码评审(Code Review)是研发流程里最容易被口号化、也最容易被敷衍的一环。几乎每个团队都声称自己在做评审,但真正落到日常,往往是三种状态:要么是“橡皮图章式…

2026/10/12 20:07:21 阅读更多 →
open-code-review:让代码评审有据可查、有果可闭环的工程实践

open-code-review:让代码评审有据可查、有果可闭环的工程实践

1. 项目概述:open-code-review 到底要解决什么代码评审这件事,但凡在团队里待过一两年的人,都经历过那种“评审2小时,改动3行”的尴尬局面。评审邮件发出去没人理,约了个会议大家对着屏幕沉默,等终于有人说…

2026/10/12 20:07:21 阅读更多 →
贷中风险预测竞赛级Python源码解析:从多表合并到LightGBM建模

贷中风险预测竞赛级Python源码解析:从多表合并到LightGBM建模

简介:面向计算机专业毕业设计、期末大作业及金融风控入门实践,这份完整项目包以贷中风险预测为核心任务,基于Python机器学习完整覆盖数据清洗、特征工程、模型训练与效果评估流程,适合需要从零构建实际项目的初中级学习者。资源共…

2026/10/12 20:06:21 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →