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

从零构建RAG系统:小白程序员必备的全局观与收藏指南

本文旨在帮助读者建立RAG系统的全局观从离线解析、Query理解、在线召回到上下文生成详细阐述了四大模块及其间的六个关键联动点如Chunk大小与LLM窗口的配合、Query解析结果对检索策略的指导等。文章强调模块间的相互影响并通过实战案例说明了如何优化系统性能。同时文章还提供了面试时如何从零设计RAG系统的回答框架帮助读者在面试中展现系统设计能力。一、先画一张全景图RAG 的四大模块一个完整的 RAG 系统包含四个核心模块按数据流顺序排列模块一离线解析知识库构建——把原始文档变成可检索的结构化内容。负责文档解析、Chunk 切分、Embedding 向量化、向量入库。这是系统的地基只需要执行一次或定期更新。模块二Query 理解查询预处理——用户 query 进来后先读懂它再决定怎么处理。包括意图识别、实体提取、Query 改写/扩写、检索路由决策。这是系统的调度员。模块三在线召回检索与精排——根据处理后的 query从知识库中找到最相关的文档片段。包括向量检索、BM25 关键词检索、混合检索融合、Rerank 精排。这是系统的搜索引擎。模块四上下文生成LLM 回答——把检索到的片段和用户问题一起喂给 LLM生成最终回答。包括 Prompt 构建、幻觉压制、多轮对话衔接、引用标注。这是系统面向用户的最终输出。面试的时候先把这四个模块按顺序列出来面试官就知道你脑子里有一张完整的图。然后再逐个展开。吴师兄学大模型二、模块之间不是独立的——六个关键联动点这是大多数人缺失的部分。很多人把四个模块当成独立的流水线优化的时候头痛医头、脚痛医脚。但实际上模块之间有深度的相互影响理解这些联动关系才是真正的系统设计能力。联动一离线解析 × 在线召回——Chunk 大小要配合 LLM 窗口这是最容易被忽视但影响最大的联动。Chunk 切得太大LLM 的上下文窗口放不下几个片段信息覆盖率低Chunk 切得太小每个片段语义残缺检索时匹配不准而且需要拼凑更多片段才能凑够上下文容易信息散乱。在我们的实战项目中最终确定的 Chunk 大小是 300-500 token配合 50 token 的 overlap。这个数字不是拍脑袋定的而是在检索召回率和LLM 生成效果之间反复实验出来的——Chunk 太短时 MRR 下降语义不完整导致匹配不准Chunk 太长时 LLM 回答质量下降噪音太多。另外离线阶段存的元数据越丰富文档来源、章节标题、发布时间、内容类型在线召回时能做的过滤就越精准。比如用户问最新的车险理赔流程如果离线阶段存了时间标签在线就能加时间过滤如果没存你只能靠语义检索去猜最新是什么意思大概率召回旧版本。联动二Query 理解 × 在线召回——解析结果直接指导检索策略Query 理解模块的输出不是给人看的是给检索模块用的。意图识别的结果决定了走哪条检索链路——知识库检索、计算模块、NL2SQL 还是直接拒答。实体提取的结果决定了检索时加什么过滤条件——时间范围、文档来源、内容类别。Query 改写的结果决定了实际送入向量库的是什么文本。如果这两个模块配合不好会出现两种典型问题一是解析准确但检索没用上比如提取出了时间实体昨天但检索模块没有对应的时间过滤逻辑等于白解析二是解析出错导致检索跑偏比如意图识别错了该走检索的去了计算模块比不做解析还糟。一个更进阶的联动是多索引路由如果你的知识库按主题分成了多个索引理赔制度、销售策略、产品信息各一个Query 理解模块可以根据意图直接选择对应索引检索而不是在全库里搜。这样既提高精度又减少计算量。联动三在线召回 × 上下文生成——给 LLM 多少上下文是门学问检索模块返回了 Top 10 个片段是不是全部喂给 LLM不是。上下文过少信息不足LLM 答不全上下文过多噪音干扰LLM 反而被不相关内容带偏。研究表明LLM 更容易关注上下文开头和结尾的内容中间部分容易被忽略——这就是所谓的Lost in the Middle 问题。在实战中我们通过 Rerank 精排后只取 Top 5 个片段并且把相关度最高的放在最前面。如果片段来自不同文档在 Prompt 中用编号区分清楚。这样 LLM 既能获得足够的信息支撑又不会被大量无关内容淹没。另一个关键决策是上下文的组织方式。是按相关度排序还是按文档原文顺序排列实践中我们选择按相关度排序——让 LLM 先看到最重要的信息减少它忽略中间的概率。联动四上下文生成 × 在线召回——生成反馈反哺检索这是进阶玩法也是面试的加分项。如果 LLM 生成的回答是无法从资料中找到答案说明检索可能没到位。系统可以自动判断这种情况然后放宽检索条件比如降低相似度阈值或换一种检索策略重新检索拿到新结果后让 LLM 再试一次。这个闭环被称为反馈式检索——生成模块的输出反过来触发检索模块的重试。它让 RAG 系统从单次检索变成了自适应检索对长尾问题的覆盖率有明显提升。但要注意两点一是设置重试上限最多重试 1-2 次避免无限循环二是重试时要换策略而不是重复同样的操作否则结果不会变。联动五全链路监控——在哪个环节掉链子RAG 系统出了问题最难的不是修复而是定位问题出在哪个模块。用户说回答不准到底是检索没找到正确文档召回问题还是找到了但 LLM 没用好生成问题是 Query 理解把意图搞错了路由问题还是离线阶段文档解析就出了错数据问题解决方案是在每个模块的输出环节埋点记录Query 理解模块记录识别出的意图和实体、召回模块记录返回的片段 ID 和相关度分数、生成模块记录 LLM 的回答和置信度。出了问题就沿着链路回溯很快就能定位瓶颈。在我们的项目中每周会抽查 50 个 badcase按解析问题/检索问题/生成问题分类。连续三周发现某一类问题占比最高就集中优化对应模块。这种数据驱动的迭代方式比凭感觉调参靠谱得多。联动六缓存跨模块复用——空间换时间缓存不是某一个模块的事而是贯穿整个链路的。Embedding 缓存相同 query 的向量不需要重复计算存在 Redis 里复用。检索结果缓存高频问题的检索结果直接缓存跳过向量库查询。答案缓存FAQ 类问题直接缓存完整回答实现毫秒级响应。三层缓存配合使用热门查询的端到端响应时间可以从秒级降到 50ms 以内。但要注意给缓存设 TTL过期时间知识库更新后旧缓存要及时清除。三、面试怎么答从 0 设计 RAG 系统这是面试中最高频的系统设计题。很多人一上来就开始讲技术细节面试官根本跟不上。正确的回答框架是先全景后细节、先离线后在线第一步画全景图30 秒。“一个 RAG 系统包含四个核心模块离线解析、Query 理解、在线召回、上下文生成。离线解析只需要执行一次后面三个模块在每次用户查询时按顺序执行。”第二步讲离线流程1 分钟。“首先是知识库构建。原始文档通过 MinerU 做版面分析和 OCR 提取结构化文本然后基于文档层级结构做智能 Chunk 切分300-500 token 50 overlap每个 Chunk 带上章节路径、内容类型、来源页码等元数据。最后用 BGE-M3 生成 Embedding 向量存入 Milvus 向量库同时建 BM25 倒排索引。”第三步讲在线流程2 分钟。“用户 query 进来后先经过 Query 理解模块做意图识别和实体提取决定走检索还是走计算模块。走检索的话对 query 做改写和扩写后同时发起向量检索和 BM25 检索用 RRF 融合结果再用 Cross-Encoder 精排取 Top 5。最后把精排后的片段和 query 一起构建 Prompt喂给 LLM 生成回答并在 Prompt 中要求模型标注引用来源。”第四步讲关键联动1 分钟。“几个关键的模块联动Chunk 大小要配合 LLM 上下文窗口不能孤立调参Query 理解的输出直接指导检索策略比如提取出时间实体就加时间过滤如果 LLM 回答’不知道’系统会自动触发二次检索。整个链路有三层缓存Embedding/检索结果/答案做加速热门查询可以做到 50ms 响应。”四步讲完面试官对你的全局设计能力就有了清晰的判断。然后他会挑某个模块深入追问——而这些追问的答案前面的系列文章都已经覆盖了。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

相关文章:

从零构建RAG系统:小白程序员必备的全局观与收藏指南

本文旨在帮助读者建立RAG系统的全局观,从离线解析、Query理解、在线召回到上下文生成,详细阐述了四大模块及其间的六个关键联动点,如Chunk大小与LLM窗口的配合、Query解析结果对检索策略的指导等。文章强调模块间的相互影响,并通过…...

量化开发实战手册·第2篇:数据源选型五大维度——像评估股票一样科学评估你的行情接口

这是《量化开发实战手册》系列的第二篇文章。在第一篇里,我帮你梳理了主流数据源的优缺点和适用场景。但很多读者问:到底怎么科学地评估一个行情接口?看官网介绍都挺好,一用就踩坑。今天,我从产品体验官的视角&#xf…...

Python 免费开源库精选:那些“不要钱”却“值千金”的神器

⚠️ 再次长文预警!前方是“免费开源”的宝藏海洋!⚠️📢 写在前面(老规矩): 嘿,朋友!既然你看到了这里,说明你对 Python 的**“免费午餐”很感兴趣!&#x1…...

从零开始复现 ThinkPHP RCE:Docker + Burp Suite 实战

目录 1. 漏洞概述 2. 环境搭建 2.1 安装 Docker 与 Docker Compose 2.2 部署 Vulhub 靶场 2.3 启动环境 3. 漏洞验证 3.1 浏览器直接验证 3.2 Burp Suite 抓包改包验证 4. 深入利用——获取 Webshell 4.1 写入一句话木马 4.2 使用蚁剑连接 5. 漏洞原理简析 6. 修复…...

RK3568之pinctrl子系统和GPIO子系统

第1章 两个子系统的区别与联系1.1 pinctrl子系统主要功能:引脚复用(pin multiplexing)和引脚配置(pin configuration)。引脚复用:一个物理引脚可能有多个功能,例如可以是GPIO、串口TX、I2C SCL等…...

2026京东校招全攻略:笔试面试、高频题、看这一篇就够了

2026京东校招全攻略:笔试面试、高频题、看这一篇就够了 数据来源:真实面经整理 京东校招公开信息交叉校验 | 更新时间:2026年3月 校招大礼包获取 获取方法 京东后端面试里,一个很有代表性的问题是: Redis 分布式锁&a…...

IDM抓取网页动态资源:从嗅探原理到实战捕获全攻略

# IDM抓取网页动态资源:从嗅探原理到实战捕获全攻略## 引言在当今Web 2.0时代,绝大多数网站采用AJAX、动态加载、流媒体等技术呈现内容。传统的“右键另存为”已无法捕获这些**动态资源**——视频被切分为ts片段、图片通过XHR接口加载、数据以JSON格式传…...

网工必看!一文搞定华为高可用组网实战:VRRP + BFD + NQA 联动深度解析

摘要:本文以一个企业园区网综合实验为核心,完整呈现从拓扑规划到逐条命令配置的全过程。实验涵盖 VRRP 双网关冗余、BFD 快速故障检测、NQA 链路质量探测、静态路由与浮动路由等多项企业级高可用技术。文章详细讲解每一条命令的含义与作用,适合备考 HCIA/HCIP 的同学、网络运…...

ESP32硬件检测程序

ESP32硬件检测程序 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文…...

走出文安婚介所的计算与失落:在那次免费的重逢里,我读懂了平凡生活的底层逻辑

我叫陆远,是一名长期伏案、与各种底层代码和复杂算法打交道的软件开发工程师。三十岁之前,我的生活一直是以一种近乎线性的逻辑在运行:在上海的一家互联网大厂卷了六年,攒下了一些存款,也透支了大部分的睡眠。两年前&a…...

把AI装进微信?OpenClaw实现多平台AI助手实战

把AI装进微信?OpenClaw实现多平台AI助手实战 前言 你是否曾想过:在微信上直接和AI对话,让它帮你写代码、解答问题、甚至管理日程?之前这种需求只能通过各种不稳定的第三方机器人实现,直到我发现了OpenClaw——一个开…...

SolidWorks 拉伸凸台 - 命令属性 - 薄壁特征

示例 6-8-2、拉伸切除 - 薄壁特征开放草图新建一个文件;前视基准面;画一个开放的草图;给这个轮廓,使用 拉伸凸台命令,它也会拉伸;默认会开启薄壁特征;单向,10mm,意思是将…...

基于五类数据集的Faster RCNN目标检测算法在缺陷检测中的应用:共计1800张VOC格式...

基于FasterRCNN目标检测的缺陷检测算法 数据集包含五类别(具体如图所示) 共计1800张图 包含VOC格式数据集Faster RCNN模型最近在搞工业质检项目,发现Faster R-CNN在缺陷检测上还挺能打。手头有个五类缺陷的数据集(划痕、气泡、氧化…...

2026年沈阳路灯厂TOP10榜单揭晓,哪家实力最强?

大家好,今天给大家带来一个热门话题:2026年沈阳路灯厂TOP10榜单揭晓!哪家实力最强?让我们一起来看看吧!榜单揭晓1. 沈阳晟光户外照明设施销售有限公司(简称:晟光路灯)2. 飞利浦照明3…...

人工智能代理AI Agent如何自动化CRM、Jira、计费和Slack之间的工作流程

当单一业务流程跨越多个系统时 在泰山老父公司中,工作流程早已超越单一系统。销售在CRM中进行,开发在Jira中,财务在计费系统中,日常沟通则在Slack中完成。这些平台各有其用途,且在独立时运行得相当有效。 当单个业务…...

【前端】最好用的本地组件库调试工具 yalc

在开发和编写多个软件包(私有或公共)时,您经常需要在本地环境中的其他项目中使用最新/正在开发的版本,而无需将这些软件包发布到远程注册表。NPM和 Yarn 通过类似的符号链接包方法来解决这个问题。虽然这种方法在很多情况下都有效…...

目标函数(含罚函数处理)

蜣螂优化(DBO)算法 工程实际,求目标函数最小值,图中所求例子为一个压力容器设计成本最小,为4变量,4个不等式约束。 采用罚函数将4约束问题转变为无约束问题。 代码注释完整,非常容易带入自己想要求的问题。深夜撸代码发…...

【OpenCV 图像变换实战:旋转、模板匹配与金字塔操作】

在计算机视觉领域,图像变换是最基础也最核心的操作之一。无论是简单的图像旋转、精准的模板匹配,还是用于图像分层处理的金字塔操作,都是实现图像增强、目标检测、图像重建的关键技术。本文将结合实战代码,系统讲解 OpenCV 中这三…...

C语言介绍:起源、特性、应用领域及如何为学其他语言打基础

C语言(C Language) 发音(Pronunciation):C yǔyn 大致意思(General Meaning):C语言是一种普遍使用的高级程序设计语言,在软件研发以及系统编程方面有着广泛运用。 详细阐…...

C语言:通用高级编程语言,现代编程语言母语及应用领域介绍

C语言,是一种被称作通用的、高级的编程语言,它是在1972年,由美国贝尔实验室的Dennis Ritchie进行开发的。C语言具备简洁、高效以及可移植的特性,在系统软件、嵌入式系统和应用程序开发当中被广泛应用。 现代编程语言的母语 有这样…...

cmu15445 25fall lec3个人笔记

lec3 database storage从应用层面转到构建层面query-planning->operator execution->access method->buffer pool manager->disk manageragendafile storage,page layout,tuple layout 行(row)为主存储顺序io(sequencial)耗时少于随机io(random access) 所以在DBMS…...

API 安全: 保护 AI 应用的交互接口

API 安全: 保护 AI 应用的交互接口你好,我是陈涉川,欢迎你来到我的专栏。在前面的章节中,我们刚刚结束了模型微调的炼狱,成功让大模型记住了企业的安全基线,并掌握了复杂的代理(Agent&#xff0…...

企业用智能体要投入多少成本?2026避坑指南与主流产品横评

2026年3月,AI Agent 正处于从“生成式问答”向“自主执行”跨越的爆发期。 企业在考虑企业用智能体要投入多少成本时,绝不能只看一张软件报价单。 真正的成本是由算力消耗、Token思维税、隐性维保、人力溢价构成的综合体系。 作为深耕自动化领域7年的评测…...

【AI智能体】——OpenClaw(龙虾)深度研究分享(五)clawhub: command not found 全网最稳解决方案

🦞 OpenClaw 终极排坑:clawhub: command not found 全网最稳解决方案 (Windows / Mac / Linux 全平台通用・保姆级)🔥 前言 最近 OpenClaw(小龙虾)真的火炸了! 但 80% 的人刚装上就卡…...

当LSTM遇上注意力:手把手教你玩转时序预测

Attention-LSTM时序预测,单输入单输出 基于注意力机制attention结合长短期记忆网络LSTM时间序列预测, 单输入单输出模型 MATLAB版本为2020b及其以上 中文注释清晰,非常适合科研小白 评价指标包括:R2、MAE、MSE、RMSE等时序预测总让人头疼&…...

拒绝加班!这套一键生成建筑模型的方法,让甲方当场傻眼

一、概述 在智慧城市建设、城市规划设计、游戏场景搭建以及数字孪生应用等领域,三维建筑模型的构建始终是基础且关键的一环。传统建模方式依赖人工描图、手动拉伸,不仅耗时耗力,而且难以保证数据的现势性与准确性。尤其是面对大范围城市级别…...

【实时Linux工业PLC解决方案系列】第三十六篇 - 实时Linux PLC定时器高精度控制

一、简介:为什么高精度定时器是工业PLC的"心脏"?在工业自动化领域,PLC(可编程逻辑控制器)的定时精度直接决定了控制系统的响应速度和稳定性。传统PLC依赖专用硬件实现毫秒级定时,而现代实时Linux…...

【嵌入式】RCC-复位与时钟控制模块及实例

基于 HAL 库工程,RCC 就是: Reset and Clock Control 中文一般叫: 复位与时钟控制模块 你可以先把它朴素理解成: RCC 是专门管“时钟”和“复位”的那个硬件模块。 一、它到底是干什么的 RCC 主要负责两大类事情&#xff1a…...

二维数组的应用:矩阵运算与图像处理

在编程世界里,二维数组是一种基础却又强大的数据结构,它就像是一张二维的网格,能精准存储和处理具有行列关系的数据。其中,矩阵运算与图像处理是它发挥价值的两大典型场景,今天我们就来深入拆解这两个应用方向。&#…...

OpenClaw 能不能赚钱?

最近一段时间,OpenClaw 在技术圈和副业圈同时火了。 有人说: 可以自动运营账号可以自动写文章可以自动接单可以当 AI 打工人 甚至已经出现: 帮人部署 OpenClaw 收费 我自己折腾了一周,做了一些简单测试,结论比想象中冷…...