大模型RAG常见面试问题(附答案)

1️⃣RAG 有哪几个步骤?
Step1:将文本分割成块;Step2:使用编码模型将这些块嵌入到向量中,将所有这些向量放入索引中;Step3:LLM 创建一个提示,告诉模型根据我们在搜索步骤中找到的上下文来回答用户的查询。
2️⃣实际项目中RAG有哪些优化技巧?
首先召回源会考虑多路召回,在召回后面增加一个重排序的阶段,提升召回的质量。另外,重排序模型以及生成模型会根据系统问答的指标情况,进一步微调。
3️⃣RAG 中为什么会出现幻觉?
出现幻觉问题主要分为两大类,一是生成结果与数据源不一致,训练数据和源数据不一致、数据没对齐或者编码器理解能力的缺陷导致;二是用户问题超出了大模型的认知,用户的问题不在语言模型认知范围内导致。
4️⃣RAG 一般怎么做效果评估?
RAG 做效果评估主要是针对检索和生成两个环节。对检索环节,我们可以采用 MRR 即平均倒排率,前 k 项的 Hits Rate 命中率, NDCG 排序指标等。生成环节首先是量化指标,再评估生成答案的多样性,看看模型是否能够生成多种合理且相关的答案。还需要引入人类评估,考虑资源效率。
5️⃣针对幻觉的问题,有什么解决思路?
加入一些纠偏规则,比如采用 ReAct 的思想,让大模型对输出的结果进行反思。还有一种思路是集成知识图谱,即不再局限于向量数据库匹配,做召回时不仅考虑文档块,同时还考虑图谱的三元组。将知识图谱( KGs )集成到 RAG 中,通过利用知识图谱中结构化且相互关联的数据,可以显著增强当前 RAG 系统的推理能力。
6️⃣在实际做项目中,经常遇到各种边界的 case ,一般怎么解决?
这个需要分情况来看,首先是无效问题:如果对于知识库中没有的问题,我们需要做一个准入的判别,判断是否需要回答。一般是一个二分类模型,或者直接用大模型+ prompt 来做,使模型在这种情况下输出一个预设的兜底话术。第二个是减少幻觉,在推理模块中添加规则和提示工程技术。还有一种是格式错误:模型可能会生成无法解析的答案,这种可以设计一个备份的代理大模型,当解析失败时,可以基于代理大模型直接生成简洁准确的总结。
📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。
全部评论

相关推荐

2025-12-25 19:07
蚌埠坦克学院 Java
1.自我介绍(拷打实习项目)1.RAG的流程了解吗,比如向量化采用哪个模型来做的,怎么存的文件?2.文件分块怎么做的,基于怎么原则/规范?3.如果基于段落来分块,为什么不选用一个比较大的段落或者一个比较小的句子来分呢,有考虑过过大/过小会造成什么影响吗?4.调用向量化模型的时候,是调的实时的接口还是其他的方法来做的?5.这个接口是自己写的还是直接调用的豆包的SDK?6.豆包有没有提供批量处理的向量化的接口?7.向量化处理时,是每个文本分块分别进行向量化,还是把所有的文本都切分好之后,调一次接口就好了?8.ES检索完之后有没有对检索结果做质量评估呢,有没有通用的测试方法,比如标准数据集?9.你简历提到接口响应时间从800ms到200ms,有关注过影响耗时的核心点是在哪吗?10.在传入的文档数量是固定的情况下,返回的top结果的值不同,对接口耗时有没有影响,影响大不大?11.采用的什么策略来减少RAG的幻觉?12.Kafka 解耦文件上传、处理这块怎么做的?13.Kafka 的分区策略有哪些?默认分区、粘性分区、自定义分区分别是什么?14.有了解过kafka分区的概念吗?15.正常来说,一个topic下是一个分区还是多个分区呢?16.多个分区的好处是什么?17.kafka消费的策略有了解吗?(拷打练手项目)18.你在项目里使用了RabbitMq,有对比过RabbitMq和Kafka的区别和使用场景吗?19.如果要防止数据丢失的话,一般采用的标准方案是什么?20.项目里用到的两级缓存,Redis和Caffeine,缓存一致性怎么做的?21.Canal做MySQL到ES的增量同步的时候,监听的是MySQL的哪个日志?22.除了binlog,还有哪两种日志类型比较常见,分别的使用场景?(拷打轮子)23.为什么WAL这一块要先写日志呢?24.2PL的规则有了解吗?25.2PL加锁和解锁的阶段有没有交叉?26.有了解2PL可能造成哪些问题吗?27.2PL造成的死锁问题怎么解决?28.你用到了LRU策略,它是用来解决什么问题的,有什么优势?(其他)29.了解Linux和shell吗?30.实习的时候的开发环境是基于win还是Linux呢?(场景题)31.公司可能用到第三方的SDK,SDK只提供了静态的方法,要求在注入的时候,用的成员是静态的,但是Spring中@Autowired是用来注入非静态成员的,那我想注入一个静态的变量该怎么做呢?(八股)32.怎么创建一个线程?33.Callable和Runnable的区别是什么?34.使用synchronized时,加在方法上和加在代码块上的区别是什么?35.在synchronized的同步块里,该怎么判断是使用this对象还是使用class对象呢?36.在 Spring Boot 的容器里,一个 Service Bean 是否是单例的,或者说同一个类会不会有多个实例?37.你接触到的数据结构都有哪些?38.有了解过动态规划和分支限界的算法逻辑是什么吗?(手撕)225. 用队列实现栈
点赞 评论 收藏
分享
2025-12-25 11:45
深圳技术大学 Python
这回终于是一个agent开发面了,看着岗位要求吓晕了,准备了好久,不过感觉问的问题都答上来了,不算很难,面试官人很好,还给我解答了缺陷,说怎么大二现在这么卷了1.做自我介绍,并确认是否为 28 届(大二)以及实习政策?2.背景确认: 28 届是 24 年入学的吗?学校是否允许大二出来实习?通勤时间能否接受?3.关于旅行规划助手:双模型动态切换的复杂度是如何判断的?4.核心逻辑: 路由层判定复杂度的准则是什么?如何区分“实际复杂”和“看起来复杂”的任务?5.追问1:针对 1.5B 小模型做路由,是否遇到过’复读机”问题?你是如何解决的?6.追问2:结合高德 MCP 协议,你发现它目前存在哪些问题或局限性?7.追问3:如何通过 MCP 协议实现“加入预算约束”的路线规划?8.大模型能够进行工具调用的底层原理是什么?9.关于魔搭社区问答助手:这个项目的微调数据集是如何获取和设计的?10.追问1:微调后模型的准确率是多少?11.追问2:对于 RAG系统,你本地是如何判断准确率和召回率的?12.追问3:微调过程中是否出现了“灾难性遗忘”?你是如何解决或缓解的?13.LoRA 微调的数学原理是什么?为什么它比全量微调高效?14.多模态与语音交互是如何实现的?15.项目中的自动化流水线是如何串联的?16.确认实习细节:实习周期、每周天数及到岗时间?面试反问环节反问 1:具体实习生进去负责哪个模块?反问 2:面试表现有哪些需要加强的地方?
程序员小假:强啊兄弟
牛客在线求职答疑中心
点赞 评论 收藏
分享
评论
2
35
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务