告别手动分块:如何优雅地将大文档转换为结构化知识库?

29 阅读2分钟

做 RAG(检索增强生成)的小伙伴肯定深有体会:模型再强,如果喂进去的 PDF 数据是一团乱麻,检索出来的结果就是灾难。尤其是面对动辄几千页的设备配置手册、MIB 清单、技术协议,普通的 PDF 提取脚本要么丢了表格,要么断了句子,要么没了上下文。

为了彻底解决“数据清洗”这第一公里,我开发并开源了 Universal Doc Parser

🚩 为什么你需要它?

在处理复杂的 PDF/Word 文档时,它不只是简单的 extract_text,而是具备了**“结构化思维”**:

  1. 🔍 智能结构侦察: 它会自动通过算法判断文档是属于“目录树型”、“正则序列型”(如清单文档)还是“视觉排版型”。无需你手动指定,它会自动匹配最优解析引擎。
  2. 📊 表格结构化重构(完美版特性) : PDF 里的参数表、对照表最容易变成乱码。本工具能自动识别表格并转换为 Markdown 格式 嵌入正文,完美保留参数与缺省值的对应关系。
  3. 🧠 语义修复与断句合并: 自动修复排版导致的连字符(con-figuration)和伪换行,确保向量模型(Embedding)能够捕捉到完整的语义。
  4. 🔗 自动上下文注入: 它会在每一个分块头部注入全路径标题(如:配置 > 接口 > 以太网 > 配置步骤),彻底解决 RAG 检索后“只知其然不知其所以然”的上下文缺失问题。
  5. 🛠️ 技术实现路径

  • 引擎分发:基于 pypdf 处理目录树,pdfplumber 处理字号与表格,python-docx 处理样式。
  • 输出多样性:支持 Excel, JSON, Word, PDF 四种格式导出,适配各种向量入库需求。
  • 去厂商化设计:代码逻辑完全抽象,专注于文档本身的排版逻辑,隐私安全,通用性极强。
  • 🚀 开源地址

既然是好工具,自然要和大家分享。代码已经在 GitHub 开源,欢迎点个 Star 支持一下!

👉 GitHub 地址:github.com/Li-Ser/Univ…

🌈 写在最后

目前这套工具已经在我自己的 RAG 项目中稳定跑了很久,处理效率大幅提升。如果你也在为 PDF 里的表格、乱码、标题层级头疼,不妨试试它。

欢迎在评论区交流你在 RAG 数据清洗时遇到的那些坑!

image.png