接手这个项目的第一天,我面对的是服务器里将近一万个源文件。有专利文档、研发报告、设计方案、图纸扫描件、技术标准,还有各个部门七零八落导出的一堆PDF和Word,文件命名从“最终版”到“最终版2”再到“打死不改版”,乱到让人血压升高。项目目标很清晰,把这批源文件做成企业内部的AI知识底座,支持技术问答、专利检索、辅助研发决策这类场景。
但在把这些源文件喂给AI之前,我先做了一件事:对整个文件资产做了一次系统性的分类、清洗和索引构建。
这件事做完之后,后面的AI应用开发、知识库搭建、检索增强生成才真正跑得通。如果跳过这一步,直接把这些乱七八糟的文件灌给大模型,得到的答案质量会让你怀疑人生。
1. 为什么“喂文件”之前必须先做治理
1.1 项目背景:AI不能替你解决混乱
先说需求。公司要做的是一个面向研发团队的知识问答系统,底层是国产大模型加RAG架构。系统要能回答“某某技术方案之前在哪个项目里用过”“哪个专利覆盖了这个技术点”“某型号设备的维护规范是什么”这类问题。数据源就是那将近一万个源文件。
很多人有个误区,觉得大模型很强大,把文件一股脑丢进去就能自动理解。但实际跑过一遍就会明白,RAG系统的效果上限不是模型决定的,而是你喂进去的语料质量决定的。模型再聪明,从一段带满页眉页脚、OCR错别字、乱码、重复文件的垃圾内容里也检索不出正确答案。
我做过对比测试,同一批原始文件直接建索引,和经过治理后再建索引,回答的准确率差距非常大。混乱的源文件里,光是把同一个文件的不同版本都当成独立文档这一点,就足够让检索结果劣化到没法用。
1.2 第一课:AI只会读结构,不会替你理结构
大模型理解文本靠的是语义关联,但并不具备真正的“全局整理”能力。你把一万个文件丢给它,它不会自动意识到“A文档和B文档其实是同一个专利的申请稿和授权稿”“C图纸扫描件里的表格需要OCR才能提取”“D标准文件是已经被废止的旧版本”。
这些判断需要人来做。
所以喂AI之前的那件事,本质上是把一批杂乱的数字资产,转化成一套有明确边界、有元数据、有质量控制的可用语料。这个活儿没有太多高深算法,靠的是工程化的耐心和一套清晰的分类逻辑。
1.3 面对近万个文件,目标是什么
我在项目启动时定了三个目标,后面所有工作都围绕这三个目标展开:
- 每个文件都能被唯一标识,知道它是什么、属于哪个业务域、版本状态如何。
- 每个文件的内容是可读、可检索、可切片的,没有乱码和明显的识别错误。
- 文件之间的关联关系被梳理出来,至少做到“同一主题找得到彼此”。
这个目标听起来朴素,但在几千个文件规模下,要实现它需要一套完整的处理流程。接下来我把这套流程拆开讲,每一步都有参数和实测数据,可以当作一份可直接参考的实操手册。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 源文件盘点:先摸清家底,再谈分类
2.1 别急着清洗,先做文件画像
任何治理工作的前提是知道你有什么。面对近万个源文件,第一步不是写清洗脚本,而是先做一次全面的文件盘点。
我用Python写了个脚本,对全部文件做了扫描,统计出这些核心指标:
- 文件总数与总大小
- 文件类型分布(PDF、Word、Excel、图片、CAD图纸等)
- 命名规范情况(包含特殊字符、重复名称、无意义名称的文件数量)
- 重复文件检测(通过MD5值)
- 目录层级情况(深度分布)
实测下来,这批文件的总
