跳到主要内容

知识库数据清理

  • 知识库数据清理,主要解决的是:文档更新、删除、重复、脏数据、失效 chunk、向量残留、索引不一致 这些问题。
  • 数据清理主要分为 *写入前清洗、运行时过滤、后台异步清理
  • 三个阶段

物理删除/软删除​

  • 软删除不是真正的删除数据,只是做个标记
    • 相当于放在回收站
  • 物理删除直接从数据库/存储中删除
  • 因为 RAG 数据链路比较长,直接物理删除容易出问题。

写入前清洗​

  • 比如用户上传文档后,会先计算 file_hash,判断是否重复上传;文档解析后,会过滤空文本、乱码、过短 chunk、重复 chunk、页眉页脚等无效内容,避免垃圾数据进入知识库

运行时过滤​

  • 运行时会通过状态字段控制数据是否参与检索
bash
status: processing / completed / failed / deleted
is_deleted: 是否删除
version: 文档版本
deleted_at: 删除时间
  • 检索时只查询为数据没有被删除、状态为完成的,避免旧数据、失败数据、删除数据影响回答结果
bash
WHERE is_deleted = false
AND status = 'completed'

后台会有定时清理机制​

  • 定时清理过期、失败、重复的数据