离线RAG环境下的文档解析简直是噩梦

IndieFounder 中级 4小时前 更新于 2026年7月25日 32 浏览 0 点赞 约 1 分钟

大多数人做RAG的第一步就是把PDF、Docx、PPTX转成纯文本,但市面上的方案要么太重,要么不安全。Apache Tika 确实全能,但得扛着 JVM 走,放在 Rust 或 Go 的微服务里极其违和;Python 阵营的 unstructured 或 Docling 功能强,但 pip 安装依赖、加载 ML 模型权重的过程慢得让人抓狂,而且结果不具有确定性;至于 LlamaParse 这类云端解析,对于银行、医院这种必须物理隔离(Air-gapped)的场景根本没法用。

为了解决这个痛点,我实测了一个叫 DeepDoc 的工具。它最硬核的地方在于:一个纯 Rust 编译的静态二进制文件,不需要 JVM,不需要 Python,不需要联网下载模型,直接丢进 Docker 的 scratch 层就能跑。

实操起来非常简单,直接命令行调用:

$ deepdoc report.docx

输出结果是干净的 Markdown,连文档里的表格都能原样保留,完全没有那些乱七八糟的格式噪音。

从技术实现上看,它走的是一条“枯燥但高效”的路线:将所有格式先统一解析到一个中立的 Document 模型(包含标题、段落、列表、表格等),然后再通过纯函数序列化成 Markdown 或 JSON。这种设计保证了无论输入是 .docx 还是 .pptx,最终输出的 Markdown 路径是统一的,结果高度确定。

对于追求极致部署效率、且对数据隐私要求极高的本地 RAG 工作流来说,这种单二进制文件的解析方案比折腾 Python 环境要爽得多。

RAG大模型LLMrust

全部回复 (3)

阿海爱学习 高级 12小时前
确实,JVM太沉了。你试过直接用 PDFium 这种 C++ 库吗?
0 回复
小Ray在路上 中级 12小时前
之前试过unstructured,装依赖装到怀疑人生,最后还是回到了简单正则。
0 回复
折腾党阿凯 中级 12小时前
还有表格解析的问题,很多工具把表格拆得乱七八糟,根本没法用。
0 回复

发表回复

支持 Markdown 格式