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

京东面试高频考点:RAG系统设计全流程解析(非常详细),搞懂四个模块调用顺序,收藏这一篇就够了!

上周一个学员面京东就被这个问题拿住了。面试官开门见山“假设你现在负责从 0 搭建一个 RAG 问答系统知识库有 5000 份文档需要支持多轮对话你怎么设计”他开始讲向量检索……面试官打断他“等一下用户的 query 进来之后第一步做什么是直接去检索吗检索之前不需要做任何处理”他愣了一下说先做 Embedding。面试官继续“做完 Embedding 就直接去向量库搜了你的知识库是怎么建的文档怎么解析的Chunk 怎么切的这些都不讲”他开始补讲离线流程但逻辑已经乱了一会儿讲检索一会儿讲解析一会儿又跳到生成面试官听了两分钟就说了句好了我了解了。这个问题的本质不是他不懂技术而是他没有全局观。单个模块讲得再好如果不知道它们之间怎么配合、怎么影响、怎么取舍在面试官眼里就是背了一堆知识点但没做过系统。今天这篇文章就是要帮你建立这个全局观。一、先画一张全景图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 响应。”四步讲完面试官对你的全局设计能力就有了清晰的判断。然后他会挑某个模块深入追问——而这些追问的答案前面的系列文章都已经覆盖了。吴师兄大模型写在最后这篇文章是整个 RAG 系列的总纲。之前的每一篇文章都在深入一个模块召回优化、知识库构建、响应速度、生成阶段、Embedding 选型、Query 路由、记忆模块、简历面试。今天这篇把它们串成了一张完整的图。如果你是跟着这个系列一路看过来的现在回头看应该能感受到一件事RAG 不是某一个 trick而是一整套系统工程。每个模块都有自己的优化空间但真正决定系统效果上限的是模块之间的配合和取舍。这也是面试官最想考察的你是只会优化某一个环节的螺丝钉还是能站在全局视角做技术决策的架构师。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:

京东面试高频考点:RAG系统设计全流程解析(非常详细),搞懂四个模块调用顺序,收藏这一篇就够了!

上周一个学员面京东就被这个问题拿住了。 面试官开门见山:“假设你现在负责从 0 搭建一个 RAG 问答系统,知识库有 5000 份文档,需要支持多轮对话,你怎么设计?” 他开始讲向量检索…… 面试官打断他:“等…...

知识图谱RAG检索效果全解析(非常详细),NeurIPS2025论文精华从入门到精通,收藏这一篇就够了!

1. 动机 随着大模型(LLMs)在问答、推理、生成任务中的广泛应用,RAG(Retrieval-Augmented Generation)成为减少幻觉、补充外部知识的重要手段。传统 RAG 多依赖向量数据库,但越来越多的任务需要&#xff1a…...

Flutter + OpenHarmony 性能调优实战:从内存泄漏排查到功耗控制,构建高效鸿蒙应用

1. 为什么性能优化是鸿蒙应用的生命线? 在OpenHarmony生态中,用户对卡顿的容忍度正在急剧下降。我实测过一组数据:当应用启动时间超过1.5秒时,智能手表用户的放弃率会飙升到62%;当列表滚动出现明显掉帧时,超…...

告别重复造轮子:用快马ai编程一键生成用户认证模块提升效率

作为一名经常需要搭建新项目的开发者,我深知用户认证模块(登录/注册)几乎是每个Web应用的标配。虽然逻辑相对固定,但每次从零开始编写表单、验证逻辑、状态管理,再到与UI组件库集成,总免不了要花费一两个小…...

3/15打卡

...

AD组策略密码安全配置指南:从默认策略到企业级防护

AD组策略密码安全配置实战:从基础加固到企业级防护体系 在当今企业IT环境中,Active Directory(AD)作为身份认证的核心枢纽,其密码安全策略的强度直接影响着整个组织的安全防线。许多管理员往往止步于默认策略配置&…...

Golang开发的Hawkeye工具全解析:从安装到高级功能使用指南

Golang开发的Hawkeye工具全解析:从安装到高级功能使用指南 在安全运维和应急响应领域,快速准确地识别系统异常是每个技术人员的核心能力。Hawkeye作为一款基于Golang开发的Windows平台综合排查工具,以其轻量高效的特性,正在成为安…...

iOS微信聊天记录导出难题破解:WeChatExporter全功能技术指南

iOS微信聊天记录导出难题破解:WeChatExporter全功能技术指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 微信聊天记录作为现代社交与工作的重要数据载体&…...

颠覆性语音交互:MiGPT零门槛打造专属AI语音助手全攻略

颠覆性语音交互:MiGPT零门槛打造专属AI语音助手全攻略 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 你是否想过让家里的小爱音箱突…...

突破iOS封闭限制:WeChatExporter的微信聊天记录全攻略

突破iOS封闭限制:WeChatExporter的微信聊天记录全攻略 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter iOS系统的封闭性让微信聊天记录备份成为困扰用户的技术…...

ZYNQ Cache一致性操作实战:从原理到典型应用场景解析

1. 为什么ZYNQ开发者必须掌握Cache一致性操作 第一次用ZYNQ做DMA传输时,我遇到了一个诡异现象:FPGA明明已经输出了正确数据,但CPU读取到的全是乱码。调试两天后才发现,问题出在Cache一致性上——这个经历让我深刻认识到&#xff0…...

Windows系统下快速搭建Mujoco仿真环境的完整指南

1. 为什么选择Mujoco进行物理仿真 Mujoco作为目前最先进的物理仿真引擎之一,在机器人控制、生物力学研究等领域广泛应用。相比其他仿真平台,它的最大特点是计算效率极高——在我的实际测试中,相同场景下Mujoco的仿真速度能达到其他引擎的5-10…...

从零开始用Nano-Banana:产品结构可视化文生图完整指南

从零开始用Nano-Banana:产品结构可视化文生图完整指南 你是不是也见过那些把产品零件整整齐齐铺开、每个部件都清晰可见的“爆炸图”或“平铺图”?这种被称为Knolling或产品拆解图的视觉风格,在产品展示、维修手册、设计教学里特别有用&…...

Streamlit交互增强:cv_resnet101_face-detection_cvpr22papermogface添加检测历史记录功能

Streamlit交互增强:cv_resnet101_face-detection_cvpr22papermogface添加检测历史记录功能 1. 项目背景与需求 人脸检测技术在日常生活中的应用越来越广泛,从合影人数统计到安防监控,都需要高效准确的检测工具。基于MogFace(CVP…...

下一代目标检测技术前瞻:YOLOv11思想对PP-DocLayoutV3未来演进的启示

下一代目标检测技术前瞻:YOLOv11思想对PP-DocLayoutV3未来演进的启示 最近和几个做文档智能的朋友聊天,大家不约而同地提到了一个痛点:现在的文档版面分析模型,在处理一些极端情况时,比如密密麻麻的表格、弯曲排列的文…...

Phi-3-vision-128k-instruct实战案例:跨境电商多国语言商品图理解对比

Phi-3-vision-128k-instruct实战案例:跨境电商多国语言商品图理解对比 1. 模型简介 Phi-3-Vision-128K-Instruct是一个轻量级的多模态模型,专注于处理文本和视觉数据。作为Phi-3模型家族的一员,它支持长达128K的上下文长度,特别…...

卡证检测矫正模型Java面试题精讲:核心算法与系统设计

卡证检测矫正模型Java面试题精讲:核心算法与系统设计 最近在面试一些Java后端和算法工程师时,我发现很多同学对“卡证检测矫正”这个在金融、政务、安防等领域非常常见的需求,理解还停留在调用API的层面。一旦被问到背后的原理、如何设计一个…...

Phi-3-vision-128k-instruct教学场景应用:学生作业图像题自动解答案例

Phi-3-vision-128k-instruct教学场景应用:学生作业图像题自动解答案例 1. 模型介绍与部署验证 Phi-3-Vision-128K-Instruct是一个轻量级的多模态模型,专注于处理文本和视觉数据的复杂推理任务。该模型支持长达128K的上下文长度,经过严格的训…...

SMUDebugTool:突破Ryzen处理器性能边界的底层调控解决方案

SMUDebugTool:突破Ryzen处理器性能边界的底层调控解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

深入解析ZYNQ平台下RTL8211I-CG PHY驱动的调试与优化

1. ZYNQ平台与RTL8211I-CG PHY驱动概述 在嵌入式Linux开发中,网络功能往往是核心需求之一。ZYNQ-7010作为Xilinx的明星产品,其PS(Processing System)部分集成了双千兆以太网控制器,配合RTL8211I-CG这类高性能PHY芯片&a…...

如何通过修改zImage配置解决imx6ull开发板与mfgtools连接失败问题

1. 问题现象与原因分析 最近在使用imx6ull开发板配合mfgtools烧写程序时,遇到了一个让人头疼的问题——工具界面始终显示"No Device Connected",就像对着电脑屏幕喊"芝麻开门"却得不到任何回应。这种情况通常发生在开发板切换到USB下…...

手把手教你用Node.js开发一个MCP Server(附完整调试流程)

从零构建MCP Server的Node.js实战指南 1. MCP协议与开发环境准备 Model Context Protocol(MCP)正在成为AI工具集成领域的新兴标准。这个由Anthropic提出的开放协议,本质上为AI模型与外部系统搭建了一座标准化桥梁。想象一下,当Cla…...

Surface Go变身专业数位板的3种高效方案

1. 从便携平板到专业画笔:Surface Go的隐藏潜力 如果你手头有一台Surface Go,可能更多时候是拿它来记笔记、看视频,或者临时处理一些轻量办公。但你可能没意识到,这台小巧的设备,其实蕴藏着变身成为专业数位板的巨大潜…...

实战教程:用PSPNet和LIP数据集搞定人体解析(附完整训练代码)

从零构建人体解析系统:基于PSPNet与LIP数据集的工程实践指南 人体解析技术正在重塑时尚电商、虚拟试衣、健身分析等领域的用户体验。想象一下,当用户上传一张自拍照片,系统能自动识别出服装款式、身体部位甚至配饰细节——这正是精准营销和个…...

Phi-3-vision-128k-instruct惊艳效果:含数学公式的教材插图推理与解题步骤生成

Phi-3-vision-128k-instruct惊艳效果:含数学公式的教材插图推理与解题步骤生成 1. 模型能力概览 Phi-3-Vision-128K-Instruct是目前最先进的轻量级开放多模态模型,专为处理复杂图文内容而设计。这个模型最令人印象深刻的能力在于它能够理解教材中的数学…...

TI电赛开发板开源软件例程深度解析与实战指南

TI电赛开发板开源软件例程深度解析与实战指南 很多刚开始接触TI电赛开发板的朋友,拿到板子后,第一反应往往是:“例程在哪?怎么用?” 面对官方提供的一堆源代码文件,有时会感觉无从下手,不知道从…...

存储型XSS的隐藏威胁:如何通过评论区漏洞入侵你的网站

存储型XSS的隐蔽杀伤链:从评论区漏洞到系统性入侵 当网站管理员清晨打开后台查看用户反馈时,屏幕上突然弹出伪造的登录框;当电商平台客服处理订单时,浏览器自动跳转到钓鱼页面;当新闻站点编辑审核内容时,数…...

基于天空星GD32F407的MQ-4甲烷传感器ADC+DMA数据采集实战

基于天空星GD32F407的MQ-4甲烷传感器ADCDMA数据采集实战 最近在做一个智能家居环境监测的小项目,需要检测厨房的天然气泄漏,于是就用上了MQ-4甲烷传感器。很多刚开始接触嵌入式开发的朋友,一看到传感器、ADC、DMA这些词就有点发怵&#xff0c…...

深入解析hutool的BeanUtil.copyProperties在多线程环境下的潜在陷阱

1. 为什么CopyOnWriteArrayList会变成ArrayList? 这个问题困扰了我整整两天。当时生产环境突然报出ArrayIndexOutOfBoundsException异常,查看日志发现是在ArrayList.add方法抛出的,但明明代码里用的是CopyOnWriteArrayList啊!这种…...

Sunshine 完全卸载与系统清理指南

Sunshine 完全卸载与系统清理指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 引言 Sunshine作为一款…...