RAG 知识库更新后怎么防“幽灵答案”:删除源文件、重建向量与缓存失效要联动

Written by

in

知识库里的文档被删除、权限被收回或内容被修订后,用户仍从 AI 得到旧答案,常被误认为“模型记住了”。更常见的原因是向量索引、分段缓存、摘要、重排序结果或会话记忆没有同步失效。只删原文件不会自动清理所有派生表示。

先画出内容生命周期

一份文档从上传到回答,可能经过提取、分段、嵌入、索引、摘要、缓存和引用卡片。每一步都应带有源文档 ID、版本、租户和权限快照。删除或权限变化发生时,系统才能据此找到所有派生对象,而不是全库模糊搜索关键词。

删除与更新要区分处理

删除意味着检索和引用都不应再返回内容,必要时还要清除派生摘要;更新意味着新版本生效,同时让旧向量和缓存退役。对合规要求较高的场景,记录清理完成时间和失败重试,避免把异步任务“已提交”误当作“已清除”。

用负向检索验证而非只看队列

建立包含唯一短语的测试文档,分别测试删除、权限收回和覆盖更新。验收时不仅查询向量检索,也要让实际 RAG 问答、引用展示和会话追问都尝试命中旧内容。正确结果是明确说明资料不可用或请求重新检索,而不是编造原文的替代答案。

多租户隔离不能依赖提示词

租户 ID、文档 ACL 和索引命名空间必须在检索过滤器中强制执行。缓存键同样要包含权限上下文;否则一个有权用户生成的答案可能被无权用户命中。通过 top-api.cc 统一调用模型时,仍要在检索侧完成这些边界,模型入口不能替代数据访问控制。

上线检查表

  • 每个派生对象都能追溯到源文档与版本;
  • 删除、更新、撤权有独立的失效流程与完成证据;
  • RAG 回答、引用和会话缓存均通过负向测试;
  • 索引重建不会混入已撤销租户的数据;
  • 清理失败会告警并可安全重试。

RAG 的新鲜度不仅决定回答质量,也决定访问控制是否真实生效。把“资料不该再出现”当作一级功能测试,远比事后解释幽灵答案可靠。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *