RAG 知识库答案跑偏时,先做这三个检索命中率检查
这周内部知识库 RAG 答案开始跑偏,同事问的是退货规则,模型却引用了物流说明。最开始大家想调 prompt,我先停了一下,因为这类问题很多时候不是生成错,而是检索阶段拿错材料。 我做了三个检查:第一,看 topK 结果里有没有正确文档,用 recall@5 先粗看命中;第二,检查 chunk 是否切得太碎,标题和正文上下文有没有被拆开;第三,把用户问题改成几种同义说法,看 embedding 检索是否稳定。最后发现规则文档更新后没有重新建索引,向量库里还留着旧 chunk。补跑索引后,再用一组真实问题回归,答案才稳定。 我的经验是,RAG 调优先查 retrieval,再查 prompt。建议同行保留一套固定测试问题和期望引用文档,每次更新知识库后跑一遍,不然线上跑偏时很难说清楚是哪一层出问题。