返回知识库知识库

13 批量知识库 ETL 与增量更新

掌握企业知识库从文件采集到增量更新的 ETL 流程,让知识库可维护、可评估、可追踪。

13 批量知识库 ETL 与增量更新

章节目标

掌握企业知识库从文件采集到增量更新的 ETL 流程,让知识库可维护、可评估、可追踪。

为什么重要

PoC 可以手工上传文件,生产系统必须面对持续变化的资料:新增、修改、删除、过期、权限变化和版本冲突。

开篇案例:知识库为什么越用越不准

一个制度问答 PoC 初期效果很好,因为团队手工挑了 20 份最新制度上传。三个月后,用户开始抱怨答案不可靠:有些制度已经更新,旧版本没有下架;新上传的 PDF 表格解析错位;部门权限调整后,旧索引仍然能搜到敏感内容。

这就是知识库从 PoC 走向生产时最常见的问题:内容不是静态的,权限也不是静态的。FDE 必须把知识库当作一条持续运行的数据管道,而不是一次性上传文件。

ETL 流程

  1. 文件采集:共享盘、对象存储、飞书/钉钉文档、邮件附件、业务系统导出目录。
  2. 文件识别:按类型、来源部门、业务主题、密级和版本标记元数据。
  3. 内容解析:PDF、Word、Excel、图片和扫描件使用不同策略。
  4. 数据清洗:清理空页、重复段落、表格错位、异常字符、页眉页脚和无效附件。
  5. 分段入库:按语义块、标题层级、表格行、案例结构或制度条款生成 Chunk。
  6. 增量更新:识别新增、修改、删除和过期文档。
  7. 质量检查:统计解析失败率、空 Chunk、重复率、元数据缺失和检索命中样本。

元数据字段

建议至少包含:

  • document_id。
  • title。
  • source_system。
  • department。
  • owner。
  • confidentiality_level。
  • version。
  • effective_date。
  • expired_at。
  • access_policy。
  • checksum。
  • ingestion_time。

增量更新策略

  • 用 checksum 识别文件变化。
  • 用版本号处理制度更新。
  • 用状态字段处理过期文件。
  • 用删除队列处理下架资料。
  • 每次更新生成知识库版本号。

质量检查指标

指标说明建议阈值
解析失败率文件无法解析或正文为空PoC < 5%
元数据缺失率owner、版本、密级缺失PoC < 10%
重复 chunk 率重复段落或旧版本残留越低越好
过期文档命中率检索返回已过期文件必须为 0
引用准确率答案引用是否指向正确来源生产前重点看

这些指标不需要一开始做成复杂仪表盘,先用表格记录就能发现大部分问题。

版本治理流程

一次知识库更新建议留下四类记录:

  1. 输入批次:哪些文件进入本次更新。
  2. 处理结果:解析成功、失败、跳过、过期。
  3. 索引版本:向量库、元数据、权限策略版本。
  4. 评估结果:核心样本相比上一版是否退化。

没有版本记录,就无法回答“为什么昨天还能答对,今天答错了”。

实操任务

选择一个知识库场景,设计:

  • 文件来源。
  • 元数据字段。
  • 解析策略。
  • Chunk 策略。
  • 增量更新机制。
  • 质量检查指标。

交付物

  • ETL 流程图。
  • 元数据字段表。
  • 失败样本记录表。
  • 知识库更新机制。

常见误区

  • 每次全量重建知识库。
  • 没有文档版本和过期机制。
  • 解析失败不记录。
  • 不处理权限变化。

检查清单

  • 是否能追踪每个 Chunk 来源?
  • 是否能撤回过期文档?
  • 是否记录解析失败?
  • 是否能比较两个知识库版本效果?