面试官:关于Rag,你了解多少?

1️⃣面试官:上面这个是 RAG 标准流程,实际项目中还有哪些优化技巧?
在实际中,召回源会考虑多路召回,例如稀疏召回,语义召回,字面召回等。对于多路召回截断和召回分数对齐的问题,还会采用在召回后面增加一个重排序的阶段,精简召回数并提升召回的质量。另外,其中的 embedding 模型,重排序模型,以及生成模型会根据系统问答的指标情况,会针对性的进行进一步的微调。
2️⃣面试官:那生成环节怎么评估效果?
首先是量化指标:例如 Rouge - L ,文本相似度,关键词重合度等指标。除了准确度,还可以评估生成答案的多样性,看看模型是否能够生成多种合理且相关的答案。还需要引入人类评估:进行人工评估,一般是负责改项目的产品经理和测试人员,以及内测的普通用户对模型的回答进行质量、准确性和连贯性的评分。
还应考虑资源效率:考虑模型的计算复杂性、内存需求和推理速度,尤其是在资源受限的环境中,看看 RAG 是否能够以合理硬件资源效果提供更好的性能。
3️⃣面试官: RAG 中为什么会出现幻觉?
幻觉问题是大模型的一个通病,出现幻觉问题主要分为两大类,一类是生成结果与数据源不一致,自相矛盾。另一类是用户问题超出了大模型的认知。针对前者可能是训练数据和源数据不一致、数据没对齐或者编码器理解能力的缺陷和解码器策略错误可能导致幻觉。后者则是用户的问题不在语言模型认知范围内。
4️⃣面试官:针对幻觉的问题,有什么解决思路?第一个是引入更精准的知识库,消除虚假的数据源,减少数据偏差。另外可以加入一些纠偏规则,比如采用 ReAct 的思想,让大模型对输出的结果进行反思;还有现在比较流行的思路是集成知识图谱,即不再局限于向量数据库匹配,做召回时不仅考虑文档块,同时还考虑图谱的三元组。将知识图谱( KGs )集成到 RAG 中,通过利用知识图谱中结构化且相互关联的数据,可以增强当前 RAG 系统的推理能力。
5️⃣面试官:在实际做项目中,经常遇到各种边界的 case ,一般怎么解决?
首先是无效问题:如果对于知识库中没有的问题,我们需要做一个准入的判别,判断是否需要回答。
一般是一个二分类模型,或者直接用大模型+ prompt 来做,使模型在这种情况下输出一个预设的兜底话术。第二是减少幻觉:对于时间变化的问题,模型回答"我不知道"。在推理模块中添加规则和提示工程技术,使模在不确定时回答"根据当前的信息,不足以回答这个问题"。还有格式错误:模型可能会生成无法解析的答案,例如没有输出预定义格式。
全部评论
mark
点赞 回复 分享
发布于 2025-08-15 00:33 北京
mark
点赞 回复 分享
发布于 2025-10-15 16:19 浙江
mark
点赞 回复 分享
发布于 2025-09-20 16:37 广东
mark
点赞 回复 分享
发布于 2025-09-19 00:19 湖南
mark
点赞 回复 分享
发布于 2025-09-18 22:41 上海

相关推荐

04-08 06:25
门头沟学院 Java
发一下问题给大家参考,攒攒人品!1. 如何实现多 Agent 协作系统?2. 什么是 RAG(Retrieval Augmented Generation)?3. Java 如何实现 streaming response?4. 什么是 hallucination(幻觉)?为什么会发生?5. LangChain4j 如何返回结构化 JSON?6. 如何实现 SSE 推送?7. 如何评估 Agent 的执行效果?8. LLM 服务如何做缓存?9. LangChain4j 如何实现 Tool 调用?10. 什么是 AI Agent?11. 什么是 Prompt Engineering?12. Agent 和普通 ChatBot 有什么区别?13. RAG latency 怎么优化?14. Java 调用 OpenAI API 如何设计 SDK?15. RAG pipeline 的完整流程是什么?16. RAG 系统主要组件有哪些?17. 如何设计一个 AI 问答系统架构?18. RAG 如何做 rerank?19. AI系统如何做监控?20. embedding 和向量相似度搜索是什么?21. 什么是 ChatMemory?22. Java LLM 服务如何做连接池管理?23. 如何评估 RAG 系统效果?24. Agent memory 有哪些类型?25. 如何实现对话历史 memory?26. Transformer 架构核心原理是什么?27. 如何减少大模型 hallucination?28. LLM API 如何设计接口?29. chunk size 为什么很重要?如何选择?30. 如何实现 hybrid search(向量 + keyword)?31. 什么是 ReAct Agent?32. Spring AI 和 LangChain4j 有什么区别?33. 什么是 Tool Calling?34. embedding 模型如何选择?35. AI Chat 系统的整体架构是什么?36. 文档切分有哪些策略?37. LLM 服务如何做限流?38. LangChain4j 如何实现 prompt template?39. ChatGPT 的 system / user / assistant role 有什么作用?40. LLM 为什么推理成本高?41. AI系统如何记录 Prompt 和 Response?42. Agent 如何做任务规划(planning)?43. LLM latency 如何优化?44. 如何设计 Prompt 管理系统?45. streaming response 如何实现?46. MCP(Model Context Protocol)是什么?47. Agent workflow 和普通 workflow 有什么区别?48. 大模型上下文窗口是什么?如何突破长度限制?
点赞 评论 收藏
分享
评论
4
41
分享

创作者周榜

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