遇到RAG应用回答不准或检索失败时,可以从以下6个环节逐一排查:检查文档切块是否过大(建议512-1024字符)、确认Embedding模型与查询的领域匹配、验证向量数据库索引类型(如IVF或HNSW)、测试检索结果是否按相关性排序、查看大模型上下文窗口是否被截断、核对检索与生成之间的Prompt衔接是否正确。RAG(检索增强生成)让大模型先检索外部知识再生成回答,能有效减少幻觉,但每个环节都可能成为瓶颈。
步骤1:检查文档解析与切块

步骤2:验证Embedding模型选择
步骤3:测试混合检索策略
步骤4:审查检索排序与重排
步骤5:确认大模型上下文窗口
步骤6:核对Prompt模板设计
3种常见场景的修复方法
场景A:检索结果为空或太少。增大检索数量(Top-K从5调至20),或调整相似度阈值(如从0.8降至0.6)。切块粒度也可调到更小,增加候选段落数量。
场景B:答案与检索内容矛盾。检查是模型幻觉还是检索回传了错误片段。在Prompt中加上“如果检索内容与已知信息冲突,请以检索内容为准”,同时排查向量数据库是否混入了过期数据。
场景C:系统响应速度太慢。如果混合检索+重排导致延迟过高,可以改用紧凑型嵌入模型(如all-MiniLM-L6-v2),或对向量索引做量化压缩。源3提供的“向量+BM25+RRF”方案在本地即可跑通,适合前期调试性能瓶颈。
排查RAG问题像逐层拆解管道,每个环节都有对应检查项。把6步清单写进CI测试脚本,发现指标下降时自动告警,能避免上线后排查的被动局面。