跳转到正文
收录 AI 工具提交开放中 免费提交

向量检索结果为空

在 RAG 流程中执行向量相似度检索时,未返回任何匹配文档片段,导致模型缺少参考信息。

错误代码
EMPTY_RETRIEVAL
当前状态
已解决
影响环境
Vector Database
浏览
2.9k

症状

RAG 流程中的检索环节返回空结果集,下游表现为:

  • 模型回答缺少知识库支撑,退化为纯粹基于自身参数的泛化回答。
  • 检索日志显示 Top-K 结果为空或所有候选的相似度分数均低于端点设定。
  • 用户提出的问题在知识库中明确存在对应内容,但检索未能命中。

常见原因

  • 嵌入模型不匹配:索引阶段和查询阶段使用了不同的嵌入模型或模型版本,导致向量空间不一致。
  • 相似度阈值过高:设置了过于严格的相似度过滤阈值,将本应返回的相关结果过滤掉。
  • 分段策略不当:文档分段粒度过大或过小,导致有效信息被稀释或被截断。
  • 查询改写缺失:用户的原始问题表述与知识库文档的叙述风格差异较大,直接用原始查询检索难以命中。
  • 索引未更新:新增或修改的文档未重新生成向量索引。

排查步骤

  1. 确认索引阶段和查询阶段使用的嵌入模型完全一致(包括模型名称、版本号和维度)。
  2. 临时将相似度阈值设为 0(或极低值),观察是否有候选结果返回——如有,则逐步上调阈值找到合理区间。
  3. 使用一个已知存在于知识库中的精确短语作为查询,验证基础检索链路是否正常工作。
  4. 检查向量数据库中的文档总数与预期是否一致,排除索引构建阶段的数据丢失。
  5. 为查询添加 HyDE(Hypothetical Document Embedding)或多查询改写策略,将用户问题转化为更接近文档表述的形式后再检索。

预防

  • 在 CI/CD 流程中加入嵌入模型版本校验,确保索引与查询始终使用同一模型。
  • 建立检索质量评估数据集——包含一组标准问题 and 预期命中文档,定期自动化验证检索准确率。
  • 实现文档变更监听,当知识库内容更新时自动触发增量重建索引。
  • 在 RAG 流程中增加回退策略:当向量检索无结果时,自动切换到全文关键词检索作为兜底。