首页/AI/AI 应用速查/知识库增量更新与失效治理

知识库增量更新与失效治理

文档会改、会删、会过期:用内容哈希 + 文档指纹做增量(没变不重算),删除/更新要同步清向量;再配有效期与巡检任务,防止旧版本答案继续被召回。

AI 应用速查AI更新于 2026-10-13

增量更新与失效治理是什么

文档会改、会删、会过期,知识库必须配套同步链路。增量更新用内容哈希与文档指纹判断变化:内容没变就不重新切分与向量化,省下大量嵌入成本;文档删除或改版时,先按文档标识删掉旧块再写入新块,避免新旧版本同时躺在索引里互相打架。元数据里写有效期,检索时过滤掉过期内容,再配一个定期巡检任务扫描失效链接与超期文档。只增不删是知识库最常见的腐化来源。

基本信息

增量判定按文档内容哈希对比,仅对变化的文档重算
更新动作按 doc_id 先删旧块再写新块
删除链路文档下架时同步清除其全部块
过期治理元数据写有效期,检索时过滤
巡检任务定期扫描失效链接与超期文档
主要风险只增不删导致旧制度与旧价格持续被召回

典型使用场景

  • 制度与价格类文档:新版本发布后旧版本必须及时退出索引
  • 文档下架:删除原文后同步清理向量与元数据
  • 日常同步:每天扫描变更,只更新有改动的文档
  • 链接巡检:发现失效来源并标记停用
  • 大批量迁移:重切分时按批次替换,避免索引长时间半成品

按文档标识替换旧块

按文档标识替换旧块
// 1) 先按 doc_id 删除旧块,保证不出现新旧并存
POST /collections/kb/points/delete
{
  "filter": {
    "must": [
      { "key": "doc_id", "match": { "value": "handbook-v3" } }
    ]
  }
}
// 2) 再写入新切分的块,同一 doc_id,版本号更新
// 3) 删写之间失败要留下任务记录,可重跑而不是靠人工比对

变更类型与索引动作

变更类型索引侧动作不做的后果
内容修改删除旧块后写入新块新旧版本同时被召回,答案互相矛盾
文档删除按 doc_id 清除全部块已废止内容继续作为答案来源
文档过期依赖有效期元数据过滤过期价格与制度持续被引用
仅元数据变化更新字段而不重算向量按部门或版本过滤失效
大批量变更按批次限速重建索引短时不可用或触发限流
知识库腐化通常不是模型问题:旧版本内容留在索引里,检索会把它们和现行制度一起召回,答案看起来有依据却已经过期。
用内容哈希做增量能把嵌入成本压到只与改动量成正比;全量重算既贵又会让索引在重建期间处于不可用状态。

易错点

  • 文档更新后旧块不删:新旧答案同时被召回,用户拿到已废止的信息
  • 无内容哈希机制:每次同步全量重算,嵌入成本随文档总量线性上涨
  • 删除链路缺失:原文下架但向量仍在,敏感或错误内容长期可检索
  • 删写之间失败无记录:索引处于半成品状态,且难以判断哪些文档需要重跑
  • 元数据不随文档刷新:有效期与版本字段陈旧,过滤条件失效

数据来源与参考

  • 向量库删除/upsert 文档;知识库运维工程实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌