面试官:聊聊RAG的执行流程?
RAG、MCP 和 FunctionCall 等都是 AI 的核心技术,同时也是面试中最长问的知识点,那么今天就来看下:RAG 技术及其执行流程。
概述
RAG(Retrieval-Augmented Generation,检索增强生成)是指在将原始问题发送给大语言模型之前,先通过外部知识库将数据进行注入,之后先在知识库中检索相关信息,然后再将检索结果和原始问题一起发送给大模型组织、整理答案的一种技术手段。
通过这种实现方式,大语言模型可以获取到特定领域的相关信息,并能够利用这些信息进行回复,从而降低了发生幻觉的可能性。
RAG 优势:
- 提高准确性:通过引用外部知识库,减少幻觉现象。
- 实时更新:允许模型访问最新信息,解决知识局限性问题。
- 经济高效:与重新训练模型相比,降低了更新成本。
执行流程
RAG 执行流程通常分为以下两个阶段:
1.生成索引阶段:这个阶段通常包括文档清理,以及分词也就是将它们拆分为更小的数据块,并把这些数据库转换成向量,最后存储在向量数据库的过程。

2. 检索阶段:使用用户提出的问题,在向量数据库中检索查询的过程。

整体执行流程

使用场景
RAG 典型使用场景有以下几个。
1. 企业级知识问答系统
- 场景:公司内部文档(如 HR 政策、技术手册、客户 FAQ)的智能问答。
- 痛点:传统 LLM 无法访问非公开数据,且知识可能过时。
- RAG 作用:实时检索内部知识库,生成准确且可溯源的答案。
2.客服与技术支持
- 场景:电商、SaaS 产品的客户支持(如订单状态查询、故障排查)。
- 痛点:需依赖实时数据(订单、库存)和动态知识(如促销规则)。
- RAG 作用:结合用户实时数据(如订单 ID)和知识库,生成个性化回答。
3.医疗与法律咨询
- 场景:辅助医生查询最新诊疗指南,或律师分析判例库。
- 痛点:对事实准确性要求极高,且知识需更新(如新药品、法律条文)。
- RAG 作用:从权威数据库(如 PubMed、法律条文库)检索证据,减少幻觉。
小结
RAG 是给大模型“外接”知识库,让大模型能够更加精准回答问题的一种技术实现手段。它的执行主要分为两个阶段:索引生成阶段(知识库添加到向量数据库的过程),检索阶段(根据用户输入信息在向量数据库查询结果的阶段),当然其中有一些执行细节也需要了解并在面试中回答出来。
本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:场景题、SpringAI、SpringAIAlibaba、并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列、Dify、AI常见面试题等。
面试官:聊聊RAG的执行流程?的更多相关文章
- 面试官又整新活,居然问我for循环用i++和++i哪个效率高?
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 前几天,一个小伙伴告诉我,他在面试的时候被面试官问了这么一个问题: 在for循环中,到底应该用 i++ 还是 ++i ? 听到这,我感觉这面试官 ...
- 口述完SpringMVC执行流程,面试官就让同事回家等消息了
Srping MVC 执行流程真的是老生常谈的话题了,最近同事小刚出去面试,前面面试官相继问了几个 Spring 相关的问题,但当面试官问他,你知道 Srping MVC 的执行流程吗?小刚娴熟的巴拉 ...
- 从面试官的角度,聊聊java面试流程
在这篇回答里,就讲以我常规的面试流程为例,说下java方面大致会问什么问题,以及如何确认候选人达到招聘要求. 先说面试前准备,可能有些面试官是拿到简历直接问,而且是在候选人自我介绍时再草草浏览简历,但 ...
- 阿里面试官:HashMap 熟悉吧?好的,那就来聊聊 Redis 字典吧!
最近,小黑哥的一个朋友出去面试,回来跟小黑哥抱怨,面试官不按套路出牌,直接打乱了他的节奏. 事情是这样的,前面面试问了几个 Java 的相关问题,我朋友回答还不错,接下来面试官就问了一句:看来 Jav ...
- 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!
大家好,我是冰河~~ MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多 ...
- 面试官:“看你简历上写熟悉 Handler 机制,那聊聊 IdleHandler 吧?”
一. 序 Handler 机制算是 Android 基本功,面试常客.但现在面试,多数已经不会直接让你讲讲 Handler 的机制,Looper 是如何循环的,MessageQueue 是如何管理 M ...
- 面试官:线程池如何按照core、max、queue的执行循序去执行?(内附详细解析)
前言 这是一个真实的面试题. 前几天一个朋友在群里分享了他刚刚面试候选者时问的问题:"线程池如何按照core.max.queue的执行循序去执行?". 我们都知道线程池中代码执行顺 ...
- ThreadPoolExecutor源码分析-面试问烂了的Java线程池执行流程,如果要问你具体的执行细节,你还会吗?
Java版本:8u261. 对于Java中的线程池,面试问的最多的就是线程池中各个参数的含义,又或者是线程池执行的流程,彷佛这已成为了固定的模式与套路.但是假如我是面试官,现在我想问一些更细致的问题, ...
- 面试官:Java从编译到执行,发生了什么?
面试官:今天从基础先问起吧,你是怎么理解Java是一门「跨平台」的语言,也就是「一次编译,到处运行的」? 候选者:很好理解啊,因为我们有JVM. 候选者:Java源代码会被编译为class文件,cla ...
- MySQL优化篇(一),我可以和面试官多聊几句吗?——SQL优化流程与优化数据库对象
我可以和面试官多聊几句吗?只是想偷点技能过来.MySQL优化篇(基于MySQL8.0测试验证),上部分:优化SQL语句.数据库对象,MyISAM表锁和InnoDB锁问题. MyISAM表锁和InnoD ...
随机推荐
- 参考用例之“本地Excel导入系统测试方案”
本地Excel导入系统测试方案 Excel 代码 @Test public void importperson() throws FileNotFoundException { FileInputSt ...
- 某些STL用法
STL大法好! stable_sort 基于归并排序,时间复杂度稳定同时并不会改变相对顺序,平替sort,用法一模一样.(可以过一些甚至卡sort的毒瘤,但是由于sort是均摊复杂度 \(O(nlog ...
- Vue3 学习-初识体验-helloworld
在数据分析中有一个最重要的一环就是数据可视化, 数据报表的开发. 从我从业这几年的经历上看, 经历了从业务系统导表格数据, 到Excel+PPT, 再是开源报表工具, 再是主流商业BI产品(低/零代码 ...
- HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM)
HMM (隐马尔可夫) 推导 (下) - 参数估计 (EM) 回顾 HMM 上篇介绍了HMM这样的一种时序类模型, 即描述了一些观测现象的产生, 是由我们很难观测到的 "隐变量因子" ...
- 哨兵线性搜索算法浅析与Python,C#实践Demo
如题: 在数组A[]中搜索给定值foundNum,其中length是A[]的长度 常规线性搜索 1.令索引i初始值为0,按次序依次赋值到n-1; (a)如果A[i]==foundNum,返回当前i; ...
- XML注入
XML注入 复现使用的题目为buuoj中的[NCTF2019]Fake XML cookbook 1和[NCTF2019]True XML cookbook 1 参考链接为https://xz.ali ...
- flutter3-deepseek流式AI模板|Flutter3.27+Dio+DeepSeeek聊天ai助手
基于Flutter3+DeepSeek-V3+Markdown跨平台流式ai打字输出问答助手. flutter3-deepseek-chat跨平台ai流式实例,基于Flutter3.27+Dart3+ ...
- Spring Boot微服务设置logback日志打印级别并关闭kafka debug日志
摘要:以关闭Spring Boot微服务kafka日志为例,介绍logback日志框架中logger标签的属性. 问题描述 在Spring Boot整合kafka的时候,日志配置使用 logbac ...
- 面试题-简单介绍 Spring MVC 执行流程或者Spring MVC的工作原理
摘要 简单介绍一下当用户在客户端发起请求后,Spring MVC 的执行流程,提升自己对Spring框架的认知层次.一言以蔽之,解答[Spring MVC的工作原理是什么],这是一个热点面试题. ...
- GoWeb服务器搭建
GoWeb服务器的创建 1.Web工作原理 2.GoWeb服务器的创建 Go提供了一系列用于创建Web服务器的标准库,而且通过Go创建一个服务器的步骤非常简单,只要通过net/http包调用Liste ...