做 RAG、做 Agent 的人,大概都绕不开"啃文档"这一关。PDF、Word、Excel、PPT,先把它们变成机器能读的文本,才有后面那一整套检索和生成。
但这步往往是又贵又烦。用云服务解析,按页收费,文档一多账单肉疼;更别说有些文档涉及敏感数据,传上云心里不踏实。要是再叠加 LLM 理解,token 更是哗哗地烧。
今天介绍的这个工具想从根上解决这个问题——它叫 LiteParse,LlamaIndex 团队(run-llama)开源的文档解析器,Apache 2.0 协议,GitHub 上 11k 颗星。它的slogan 三个词说得很明白:"Parse Any Document. Locally. Fast."——本地解析,快。
LiteParse 是什么:本地优先的开源文档解析器
先说背景。LiteParse 背后是 LlamaIndex 团队,对,就是做 RAG 框架那个。他们家还有个商业云产品叫 LlamaParse,主打"agentic OCR"、VLM 理解那一套企业级能力。LiteParse 则是同一团队出的开源版,定位互补——LiteParse 做本地轻量解析,LlamaParse 做云端重度处理。
官网给 LiteParse 的定位很直白:"no cloud, no LLM tokens, no limits"——不上云、不花 token、不设限。Rust 写的,代码库里 Rust 占了 84%,性能这块天生有优势。
它专注一件事:把文档快速、轻量地解析成结构化文本,带 bounding box 坐标,且整个过程完全在本地跑,不碰云、不调 LLM。
本地跑、零云依赖、零 token
这是 LiteParse 最核心的卖点,也是最省钱的地方。
解析引擎基于 PDFium(谷歌那套 PDF 渲染库)做文本提取,OCR 用 Tesseract。这俩都是开源老牌组件,PDFium 负责"原生文本层提取",Tesseract 负责"扫描件/图片文字识别"。装好就能用,不用配云服务的 key,也不产生任何 LLM 调用费用。
对隐私敏感的场景——金融合同、医疗病历、企业内部文档——数据不出本地这条尤其重要。文档解析这种"前置工序",本就该尽量轻、尽量在可控环境里完成。
带坐标的空间文本提取,还能重建 Markdown
光把文字抠出来还不够,RAG 和 Agent 往往需要知道"这段文字在页面哪个位置"。LiteParse 提供 bounding box 输出——每个文本块都带坐标信息,方便下游做版面分析、表格定位、阅读顺序还原。
输出格式也很全:Markdown、JSON、纯文本三种。其中 Markdown 重建是亮点,它能从空间布局里还原出标题、表格、列表、图片、链接这些结构元素。这意味着解析出来的 Markdown 可以直接喂给下游,不用再人工修版面。
另外它还能生成页面截图——高质量渲染整页,专门为给 LLM agent 看(视觉理解)准备的。文本 + 截图双管齐下,Agent 拿到的信息更完整。
复杂度检测,先判断再决定怎么解析
这个功能挺聪明,是 v2.2.0 刚加的新特性。
LiteParse 提供一个 is-complex 检测:在真正全文解析之前,先用很低的成本判断这个文档"复不复杂"——是不是密集表格、是不是多栏、是不是扫描件。根据结果再做路由决策:简单文档直接本地快速解析,复杂文档再走更重的处理流程(比如交给 LlamaParse)。
CLI 用起来也很直接:
lit is-complex document.pdf # 先判断复杂度 lit parse document.pdf # 再解析 这个"先探测再处理"的思路能省不少钱和时间——大部分日常文档其实是简单的,没必要每份都上重型解析。
多格式输入 + 可插拔 OCR
输入端 LiteParse 支持一大票格式:PDF、DOCX、XLSX、PPTX,还有图片。非 PDF 格式通过 LibreOffice 和 ImageMagick 先转成 PDF 再解析,基本覆盖了办公场景的常见文件。
OCR 这块是"灵活可插拔"的设计:内置 Tesseract 零配置开箱即用;同时支持插拔式 HTTP OCR 服务器,你可以接 EasyOCR、PaddleOCR,或者自己搭的 OCR 服务,只要符合它那套标准化 OCR API 规范就行。中文场景下,PaddleOCR 的识别效果通常比 Tesseract 好不少,这个可插拔设计就给了你替换的空间。
Rust 内核 + 四语言绑定,WASM 都能跑
技术人会比较关心这点。LiteParse 内核是 Rust,通过三套绑定把能力暴露出去:
○ Python:pip install liteparse,RAG 脚本里直接 import
○ Node.js / TypeScript:npm i @llamaindex/liteparse,前端和后端都能用
○ Rust:cargo add liteparse,原生集成
○ Browser / WASM:npm i @llamaindex/liteparse-wasm,能直接跑在浏览器里
绑定技术用的是 napi-rs(Node)、PyO3(Python)、wasm-bindgen(WASM),都是各语言生态里成熟的 FFI 方案。多平台也全覆盖:Linux、macOS(Intel 和 ARM 都有)、Windows。
能在浏览器里跑文档解析这点挺有意思——意味着纯前端的文档处理应用成为可能,数据完全不出用户设备。
怎么上手
三种姿势任选:
○ Python:pip install liteparse,然后 lit parse your.pdf
○ Node.js:npm i @llamaindex/liteparse
○ Rust:cargo install liteparse
CLI 核心就几个命令:lit parse 解析、lit is-complex 判断复杂度、lit batch-parse 批量、lit screenshot 截图。本身开源免费,没有调用费用。
写在最后
LiteParse 抓住的是文档处理链条上一个很实在的缺口:不是所有文档都需要 VLM、agentic OCR 那种重型方案,大部分场景要的就是"快、本地、结构化输出"。它和自家的 LlamaParse 形成互补——LiteParse 兜底日常文档,LlamaParse 处理复杂件,用 is-complex 做分流,这套组合拳对做 RAG/Agent 的团队很实用。
LlamaIndex 团队出品、Rust 内核、11k 星、Apache 2.0、零 token 零云依赖——如果你正在搭文档处理 pipeline,或者受够了云解析的按页计费,LiteParse 值得认真试一次。
觉得有用的话,点个赞和在看,评论区聊聊你平时怎么解析文档。
参考资料/来源
LiteParse GitHub 仓库:https://github.com/run-llama/liteparse
夜雨聆风