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

Shopee一面:你使用 RAG 给大模型一个输入,系统是怎样的工作流程?

面试官当你给 RAG 系统输入一个问题整个系统的工作流程是怎样的从用户提问到最终拿到答案中间经历了哪些步骤‍♂️我RAG 就是检索加生成嘛用户提问之后去数据库里查一下相关文档然后把文档丢给大模型让它回答就两步检索和生成。面试官就两步用户的提问直接拿去检索口语化的问题、带指代的问题你怎么处理「上次说的那个方案」你让向量数据库怎么查‍♂️我呃那就先让大模型改写一下问题呗然后向量化去查查到结果直接拼给大模型就行了应该没什么别的了吧面试官查到结果直接拼Top-K 结果里混了一堆不相关的内容你不管粗排和精排Rerank的区别是什么多路召回做过吗BM25 和向量检索怎么结合Prompt 怎么拼才能抑制幻觉你说「没什么别的了」每一个环节你都答不上来。‍♂️我好吧我只知道大概流程具体每一步的细节确实不太清楚……面试官RAG 在线流程是整个系统的核心链路Query 预处理、向量检索、多路召回、Rerank 精排、Prompt 拼装、溯源生成每一步都有工程细节和取舍。你只知道「检索 生成」四个字中间的六七个环节一个都讲不出来这怎么干活回去把完整链路搞清楚再来吧。好吧面试官说的没错我只记住了「检索 生成」这个大框架中间的每一步细节都模模糊糊。下面我把 RAG 在线流程的每一步都掰开来讲清楚。 简要回答当你把一个问题输入给 RAG 系统它不会直接丢给大模型而是先经历一套「检索 - 整理 - 生成」的流水线。具体来说系统先对问题做预处理改写成更适合检索的形式然后把问题向量化去向量库里找最相关的文档片段再经过精排筛掉噪音最后把筛选出来的片段和问题一起拼成 Prompt 交给大模型大模型基于这些「参考资料」生成最终答案。整个流程的核心目标只有一个让大模型在回答时有真实的知识作为依据而不是凭空发挥。 详细解析为什么不能直接把问题扔给大模型先说为什么需要这套流程。大模型的上下文窗口是有限的不可能把整个知识库都塞进去而且没有外部知识依据时大模型只靠参数里的记忆回答容易出现幻觉。所以 RAG 的在线流程本质是一个「精准取件」的过程从海量知识里找到和这个问题最相关的那几段然后再让大模型在这个「小范围」里作答。你可能会想为什么不把用户问题直接拿去向量库里搜搜完就完了因为在实际业务中用户的提问往往是口语化的、带指代的、甚至有歧义的直接拿去检索效果极差。所以整个在线流程按顺序分为以下几步每一步都在为下一步准备更好的输入。第一步Query 预处理Query Rewrite为什么要把 Query 预处理放在第一步因为用户原始提问的质量决定了后续所有环节的天花板。如果输入就差后面再怎么精排、再怎么拼 Prompt 都是白搭。用户的提问往往是口语化的甚至带着指代比如「上次那个方案怎么样」这种问题离开对话上下文完全没法检索。另外就算问题表达清楚用词和知识库里文档的用词可能完全不一样直接拿去检索命中率会很低。这一步通常让一个小模型对原始问题做改写。常见技术有几种一是简单改写把口语化问题改写成更正式、独立完整的检索句二是 HyDEHypothetical Document Embeddings让 LLM 先「假设」一个可能的答案用这个假设答案的向量去检索。你可能会觉得奇怪不用问题去搜反而用假设答案去搜原因很简单问题和答案的用词往往差异很大但假设答案和真实答案的用词更接近它们的语义空间天然更匹配命中率往往更高。三是多角度扩写把同一个问题扩展成 3-5 种不同表述分别检索后合并结果覆盖面更广。第二步Query Embedding问题向量化Query 改写好了接下来要把它转换成向量才能去向量库里搜索。把处理后的问题用 Embedding 模型转成向量这一步本身很简单但有一个容易忽略的细节。很多人以为随便选一个 Embedding 模型就行了其实不然——必须用和离线建库时完全相同的 Embedding 模型。为什么因为不同模型的向量空间不兼容用 A 模型建的库如果用 B 模型来检索两边的向量就像在不同坐标系里距离计算完全没有意义检索结果会一塌糊涂。这就像你用经纬度定位但一个系统用的是北京坐标系另一个用的是 WGS84 坐标系数值看起来差不多但实际位置差了十万八千里。第三步向量检索ANN 搜索 多路召回拿着问题向量去向量数据库里做近似最近邻搜索ANN找出余弦相似度最高的 Top-K 个文档片段。这一步速度非常快即使百万量级的向量库通常几十毫秒就能返回结果。但工程实践中只用向量检索这一路往往不够。所以这一步通常同时进行多路召回向量检索负责捕获语义相似性BM25/全文检索负责捕获关键词精确匹配两路各有所长。很多人以为向量检索已经够用了为什么还要 BM25因为向量检索对精确词语比如产品型号、专有名词、错误拼写的识别能力比较弱而 BM25 对这些精确匹配反而更在行。比如用户问「LSTM 和 Transformer 的区别」向量检索能找到「序列模型对比」相关的语义内容BM25 能精准命中包含「LSTM」「Transformer」这两个词的文档。多路结果通过 RRF互倒排名融合算法合并最终召回的结果比单路覆盖面更广、质量更高。第四步Rerank 精排理解了第三步的粗排召回你会发现一个自然的问题Top-20 的结果里不可能条条都相关肯定混了一些干扰项进去。Rerank 就是为了解决这个问题的。向量检索是「粗排」召回的 Top-K比如 20 条里可能混入相关度不高的干扰片段。Rerank 模型Cross-Encoder 结构会把用户问题和每个候选片段拼在一起输入深度理解它们之间的语义匹配程度重新打分排序。最终只保留 Top-3 到 Top-5 的高质量片段把噪音过滤掉。你可能会问为什么不直接用 Rerank 模型来检索还要先粗排再精排因为 Rerank 是 Cross-Encoder 结构需要把查询和每个候选拼在一起过模型计算量比向量检索大得多。如果拿它对百万条数据逐一算分延迟完全不可接受。所以工程上采用「粗排筛到几十条精排再从几十条里挑最好的几条」这种两阶段策略兼顾速度和质量。Rerank 整体耗时通常在几百毫秒以内对用户体感影响不大但检索质量的提升非常明显。第五步Prompt 拼装精排后的高质量片段拿到了接下来要把它们和用户的原始问题组装成 Prompt 交给大模型。典型模板大概是这样prompt f你是一个专业助手请根据以下参考资料回答用户的问题。如果参考资料中没有相关信息请回答「根据现有资料无法回答」不要自行猜测。参考资料[1] {chunk_1}[2] {chunk_2}[3] {chunk_3}用户问题{user_query}你可能会觉得这个 Prompt 挺简单的没什么好讲的。但这里面每一条指令都有明确的工程意图。很多人以为只要把检索结果丢给大模型就行了其实 Prompt 拼得不好大模型一样会乱回答。「只根据资料回答」是为了抑制大模型凭记忆发挥的倾向——大模型天生喜欢「帮忙」你问什么它都想着要回答哪怕资料里没有相关信息它也会自己编一个出来。「资料没有就说不知道」是防止它在信息不足时强行补全出幻觉内容。参考资料带编号是为了方便后续做引用溯源让用户知道每句话的依据是什么。第六步大模型生成 溯源大模型拿到 Prompt 之后基于参考资料生成答案。到这一步整个 RAG 在线流程的核心工作就完成了。工程实践中通常还会要求大模型在答案里标注每句话来自哪个片段比如「根据资料[1]…」这样用户可以追溯到原始文档验证答案是否准确可信度大幅提升。很多人以为 RAG 生成的答案就是最终答案不需要再验证了其实溯源这一步非常关键。大模型即使在有参考资料的情况下依然可能过度发挥或者误读资料溯源让用户有能力判断哪些内容是可靠的、哪些需要再确认。整个链路串起来在线阶段的耗时分布大概是Query 改写几十毫秒向量检索几十毫秒Rerank 几百毫秒Prompt 组装可忽略不计大模型生成根据输出长度在 1-10 秒不等。工程上常见的优化手段是缓存高频 Query 的检索结果以及把向量检索和 BM25 检索并行执行把两路召回的延迟从串行叠加变成取最大值。 面试总结回到开头那段面试面试官问「RAG 在线流程是怎样的」你不能只说「检索 生成」四个字就完事了。这就像别人问「一顿饭怎么做」你回答「买菜和做饭」中间的洗菜、切菜、调味、火候一个都没提。正确回答要按顺序把六个步骤讲清楚第一步 Query 预处理改写、HyDE、多角度扩写把口语化的问题转成适合检索的形式第二步 Query Embedding注意必须用和建库时相同的模型第三步向量检索 多路召回向量检索和 BM25 各有所长通过 RRF 融合结果第四步 Rerank 精排用 Cross-Encoder 深度理解语义把粗排的噪音过滤掉第五步 Prompt 拼装明确约束 LLM 只根据资料回答、不知道就说不知道第六步生成 溯源标注引用来源提升可信度。每个环节干什么、为什么需要、有什么工程细节都要能说清楚这样面试官就知道你对 RAG 系统的理解不只是停留在「检索 生成」的表面。学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%免费】

相关文章:

Shopee一面:你使用 RAG 给大模型一个输入,系统是怎样的工作流程?

👔面试官:当你给 RAG 系统输入一个问题,整个系统的工作流程是怎样的?从用户提问到最终拿到答案,中间经历了哪些步骤? 🙋‍♂️我:RAG 就是检索加生成嘛,用户提问之后去数…...

Cy5-Fe₃O₄ NPs,Cy5标记四氧化三铁纳米颗粒,反应步骤

Cy5-Fe₃O₄ NPs,Cy5标记四氧化三铁纳米颗粒,反应步骤Cy5-Fe₃O₄ NPs(Cy5标记四氧化三铁纳米颗粒)通常通过“磁性纳米核构建—表面功能化—荧光染料偶联—纯化与表征”几个关键步骤完成,整体反应路径强调界面化学的可…...

BilibiliDown:5分钟快速上手,高效下载B站视频的终极方案

BilibiliDown:5分钟快速上手,高效下载B站视频的终极方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com…...

多智能体推理与协作的薄环节优化

摘要基于大语言模型的多智能体框架通过多角色协作来解决复杂的推理任务。然而,现有方法往往存在推理不稳定的问题:单个智能体的错误在协作过程中被放大,从而损害整体性能。当前研究主要侧重于增强高能力智能体或抑制不可靠的输出以提升框架有…...

魔兽世界:私服盗贼爆发连招与单体输出循环教学

在《魔兽世界》这款经典的MMORPG游戏中,盗贼职业一直以其高机动性和爆发输出著称。特别是在魔兽世界私服环境中,玩家可以通过自定义服务器规则来优化角色构建,体验更纯粹的PVE内容。本文将从职业特性、技能机制、装备选择、副本应用等多维度&…...

Java Loom响应式改造必踩的5个安全雷区:从Project Loom Beta到生产级落地的零信任实践

第一章:Java Loom响应式改造必踩的5个安全雷区:从Project Loom Beta到生产级落地的零信任实践线程局部变量(ThreadLocal)在虚拟线程中的隐式泄漏 Project Loom 的虚拟线程复用机制会导致 ThreadLocal 实例跨请求残留。若未显式清理…...

Cherry Studio下载安装与小白使用教程:Windows电脑轻松上手AI助手

Cherry Studio下载安装与小白使用教程:Windows电脑轻松上手AI助手 作为一名每天都要处理大量文字和代码的打工人,最近我一直在寻找一个能集成各种大模型的桌面端工具。毕竟网页版切来切去真的很麻烦。试了一圈,最后我被 Cherry Studio 给安利…...

2025届学术党必备的六大降AI率方案推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要想有效地把文本的AIGC检测率降下来,就得从词汇、句式以及逻辑结构这三个方面着…...

2025届学术党必备的六大降AI率方案实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 基于自然语言处理跟深度学习算法构建了AI论文查重系统,它会对文本语义展开细致分…...

STM32F103驱动维特智能JY61P六轴传感器:从USB-TTL调试到按键唤醒的完整避坑指南

STM32F103驱动维特智能JY61P六轴传感器:从硬件调试到数据解析的全流程实战 在嵌入式开发领域,姿态传感器正逐渐成为各类智能设备的标配组件。维特智能JY61P作为一款性价比较高的六轴姿态传感器,集成了三轴加速度计和三轴陀螺仪,能…...

快速体验CAM++:上传两段语音,秒级判断是否同一说话人

快速体验CAM:上传两段语音,秒级判断是否同一说话人 1. 引言:从“听声辨人”到一键验证 你有没有想过,只凭一段语音,就能在茫茫人海中确认一个人的身份?这听起来像是科幻电影里的情节,但今天&a…...

Claude Opus 4.7 API 接入指南:最强模型实测与中转配置教程(2026)

上周 Anthropic 放出了 Claude Opus 4.7 的 API 权限,我第一时间冲进去测了。复杂推理和长上下文代码生成这两块,确实把我之前用的 Claude 4.6 按在地上摩擦。Claude Opus 4.7 是 Anthropic 2026 年发布的旗舰推理模型,接入方式兼容 OpenAI S…...

DAMO-YOLO入门指南:理解COCO 80类标准与达摩院扩展类别的映射关系

DAMO-YOLO入门指南:理解COCO 80类标准与达摩院扩展类别的映射关系 你是不是刚接触DAMO-YOLO,看着它强大的目标检测能力很兴奋,但一看到“COCO 80类”和“达摩院扩展类别”这些术语就有点懵?别担心,这种感觉我刚开始也…...

Codex + 自建中转站,用不完的token+GPT5.4 做成了一个AI机器人

Codex 自建中转站,用不完的tokenGPT5.4 做成了一个AI机器人 最近因为gemini实在太贵,订阅了两个月后还是和团队一起搞了自建中转站,这也正是高龄程序员的痛,所以也想着给自己多搞个退路,对于AI,我的第一感…...

白宫拟开放Claude漏洞挖掘AI,军方禁令与民用部署冲突激化

美国政府正计划授权主要联邦机构使用Anthropic公司Claude Mythos模型的修改版本。该AI模型能够快速识别网络安全漏洞并具备漏洞利用能力,引发了广泛关注。据彭博社援引内部备忘录报道,白宫管理与预算办公室(OMB)联邦首席信息官Gre…...

推荐系统实时更新策略

推荐系统实时更新策略:让内容推荐更懂你 在信息爆炸的时代,推荐系统已成为用户获取内容的核心工具。传统的推荐模型往往依赖离线训练,难以捕捉用户兴趣的实时变化。实时更新策略通过动态调整推荐结果,让系统更敏捷地响应用户行为…...

警惕AI全自动攻击!Claude Opus成功构建Chrome漏洞武器化链路

在 Anthropic 公司发布 Mythos 和 Project Glasswing 模型引发激烈争论之际,一位安全研究人员展示了前沿 AI 技术对网络安全的实际影响。该研究突破了理论警告的局限,成功利用 Claude Opus 构建出针对 Google Chrome 复杂 V8 JavaScript 引擎的完整漏洞利…...

算法训练营第八天|88.合并两个有序数组

题目链接:https://leetcode.cn/problems/merge-sorted-array/ 视频链接:https://www.bilibili.com/video/BV1Gr16B2EGf/状态:做出来了思路:双指针法:我们为两个数组分别设置一个指针 p1​ 与 p2​ 来作为队列的头部指针…...

攻击者可利用的 FortiSandbox 漏洞 PoC 公开,可执行任意命令

网络安全研究人员已公开披露针对 Fortinet 旗下 FortiSandbox 产品高危漏洞(CVE-2026-39808)的概念验证(PoC)利用代码。该漏洞允许未经身份验证的攻击者以 root 最高权限执行任意操作系统命令,且无需任何登录凭证。 该…...

从航拍到模型:手把手教你用‘焦距’和‘像元尺寸’反算无人机航高(附Excel计算工具)

从航测参数到飞行方案:无人机航高计算的工程实践指南 当大疆M300RTK搭载P1全画幅相机盘旋在工地上空时,机载计算机显示的实时航高数字背后,隐藏着一套精密的计算逻辑。对于航测工程师而言,掌握从相机参数到飞行参数的转换能力&…...

**构建去中心化金融新范式:基于Solidity的DeFi协议开发实战解析**在区块链技术飞速发展的今天,**

构建去中心化金融新范式:基于Solidity的DeFi协议开发实战解析 在区块链技术飞速发展的今天,DeFi(去中心化金融) 已成为推动Web3生态落地的核心引擎之一。它通过智能合约实现了无需中介的信任机制,极大提升了资产流动性…...

**点云处理新范式:基于Python的高效三维数据滤波与分割实战**在自动驾

点云处理新范式:基于Python的高效三维数据滤波与分割实战 在自动驾驶、机器人导航和工业质检等前沿领域,点云数据已成为关键输入信息。它由成千上万甚至百万级的三维坐标(x, y, z)组成,常来自激光雷达(LiD…...

当‘事实’遇见代码:用Python爬虫与NLP,亲手验证新闻中的‘莫斯科街道’悖论

当‘事实’遇见代码:用Python爬虫与NLP,亲手验证新闻中的‘莫斯科街道’悖论 在信息爆炸的时代,我们每天被无数新闻包围,但你是否想过,这些所谓的"事实"究竟是如何被构建的?1980年代,…...

Ubuntu 18.04 ROS安装遇坑记:手把手教你修复‘EXPKEYSIG’签名无效错误

Ubuntu 18.04 ROS安装遇坑记:手把手教你修复‘EXPKEYSIG’签名无效错误 第一次在Ubuntu上安装ROS时,那种兴奋感很快被终端里鲜红的错误提示浇灭——EXPKEYSIG F42ED6FBAB17C654。作为机器人开发的基础环境,ROS的安装本应是入门第一步&#xf…...

G-Helper终极指南:解锁华硕ROG笔记本隐藏性能的黑科技神器

G-Helper终极指南:解锁华硕ROG笔记本隐藏性能的黑科技神器 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix…...

【X-STILT模型第一期】X-STILT 模型概述

目录X-STILT 模型概述支持的观测平台与气体物种GitHub 仓库中的内置核心脚本/功能X-STILT 模型的下载安装一、 下载与安装模型 (Download and install model)二、 前置条件与数据准备 (Prerequisites)1. 依赖卫星观测的柱浓度模拟 (For SATELLITE-dependent column simulation)…...

在国产化ARM平台(如鲲鹏)上,用Eclipse搞定JavaFX开发的避坑指南

在国产化ARM平台(如鲲鹏)上构建JavaFX开发环境的全流程指南 当国产化替代浪潮遇上ARM架构的崛起,开发者们正面临一个全新的技术挑战:如何在华为鲲鹏等国产ARM服务器上搭建高效的JavaFX开发环境?与传统的x86平台不同&am…...

【论文学习】利用卫星观测数据的 X-STILT 模型详解

目录 J2018-提出 X-STILT (v1)模型( C O 2 CO_2 CO2​总量反演) 2. 核心研究方法:X-STILT 模型 3. 使用的数据资源 4. 案例研究:沙特阿拉伯利雅得 J2022-改进 X-STILT 模型( C O 2 CO_2 CO2​部门归因) 1. 研究核心:利用 C O 2 CO_2 CO2​ 与 C O CO CO 的排放比例 2.…...

UG/NX二次开发环境配置避坑指南:从零搭建到模板验证(nx1980+vs2019)

1. 环境准备:软件安装与版本匹配 第一次接触UG/NX二次开发的朋友,最头疼的往往不是代码本身,而是环境配置这个"拦路虎"。我当初用NX1980VS2019组合配置环境时,光版本兼容性问题就折腾了大半天。这里先划重点&#xff1a…...

两道必掌握的动态规划面试题:最长回文子串 最长公共子序列

目录 一、最长回文子串(Longest Palindromic Substring) 题目描述 1. 暴力解法(时间复杂度 O (n)) 2. 中心扩展法(时间复杂度 O (n),空间 O (1)) 核心思路 Java 代码实现 3. 动态规划解法…...