RAG 的幻觉从哪来?检索质量差的 3 个根因
RAG 不是银弹。文档喂进去了但 LLM 还是胡说八道——不是 LLM 的问题是你的检索没做对。题外话最近有小伙伴反馈文章字体太乱不容易阅读的问题。主打一个听话从这篇开始优化了文章字体大家感受下有好的建议欢迎反馈。RAG 也会产生幻觉很多人以为加了 RAG 就不会有幻觉了。错。RAG 的幻觉有自己的特点LLM 原生幻觉凭训练数据编答案RAG 幻觉检索到了文档但用错了——张冠李戴、断章取义、过时信息RAG 幻觉的三个根因根因 1检索不精准——「搜到了但不相关」现象用户问「轴承温度过高」检索返回了「齿轮箱温度过高」的维修知识。原因Embedding 模型对某些领域术语的语义理解不够。AllMiniLmL6V2是通用模型不了解「轴承温度」和「齿轮箱温度」在工业场景中是不同的问题。诊断方法// 手动验证检索结果 var results embeddingStore.search( EmbeddingSearchRequest.builder() .queryEmbedding(queryEmbedding) .maxResults(3) .build() ); for (var r : results.matches()) { System.out.println(Score: r.score() | r.embedded().text()); }如果 top-3 结果的相关性分数都低于 0.5说明这块知识的 Embedding 质量有问题。修复方案换用领域优化的 Embedding 模型如 BGE-Large-Zh加入 BM25 稀疏检索做混合召回提高minScore阈值宁可返回空也不给不相关结果根因 2分块不当——「切断了语义」现象检索到的文档片段只包含半个诊断结论缺少关键信息。原文档轴承温度超过70°C时应立即检查润滑系统。常见原因包括润滑脂不足 2. 润滑脂变质 3. 轴承间隙过小。如果分块切在第二行之前…块A: “轴承温度超过70°C时应立即检查润滑系统。常见原因包括”块B: “1. 润滑脂不足 2. 润滑脂变质 3. 轴承间隙过小。”检索时只能命中块A → LLM 只知道「要检查润滑系统」但不知道为什么修复方案分块重叠DocumentSplitters.recursive(500, 50)—— 每块 500 字块间重叠 50 字按语义边界分块用\n##Markdown 标题作为自然断点而非纯字符数切割实验分块大小200 / 500 / 1000 / 2000 字符对比测试命中率根因 3Query 和文档用词不匹配——「你问 A文档写的是 B」现象用户口语化的问题检索不到专业术语写的文档。用户问: “CNC 机器震动得厉害是怎么回事” → Embedding → [向量 A]文档写: “电机振动超标4.5mm/s的诊断流程” → Embedding → [向量 B]向量 A ≠ 向量 B。虽然人知道「震动得厉害」「振动超标」但 Embedding 模型不一定知道。修复方案1. 改写 QueryQuery Rewriting让 LLM 在检索前先改写用户的问题原始: “CNC 机器震动得厉害是怎么回事”改写: “CNC 设备振动超标的原因和诊断方法”改写后的问题用词更接近文档中的术语检索命中率显著提升。2. 生成假设答案HyDE让 LLM 先「假设性地回答」这个问题然后用假设答案去做检索用户问 → LLM 生成假设答案(不需要准确) → 用假设答案向量检索 → 找到真实文档HyDE 的核心思想答案和文档的用词风格更接近用假设答案检索比用原始问题检索效果更好。3. 多 Query 检索生成多个不同角度的 Query合并检索结果“CNC 机器震动得厉害是怎么回事”→ Query 1: “CNC 振动超标故障诊断”→ Query 2: “机械设备振动异常原因排查”→ Query 3: “机床震动故障维修方法”快速诊断你的 RAG症状大概率根因修复检索结果不相关Embedding 模型不适合你的领域换 BGE-Large-Zh 或领域微调检索到但不完整分块切断了语义加大分块 加重叠搜不到但文档存在用户用词和文档术语不匹配Query Rewriting / HyDETop-3 得分都很低知识库缺少该领域内容补充文档LLM 输出和检索结果不一致LLM 没优先看检索结果SystemMessage 强化「请基于提供的资料回答」一句话总结RAG 的幻觉不在 LLM在检索。三大根因——检索不精准、分块不当、用词不匹配——全是检索管线的问题。做好 RAG 的第一步不是训练更好的 Embedding 模型而是做分块实验验证你的检索质量。学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%免费】