LiteParse 完全指南:为 AI Agent 打造的开源文档解析引擎,11K+ Star 的 RAG 利器
AI Agent 的输入远不止代码仓库——很多时候你需要让 Agent 理解 PDF 报告、扫描的合同、金融表格,甚至包含图表和手写内容的文档。把这些文档干净地喂给 LLM 是关键的第一步。
LiteParse 是由 LlamaIndex 团队(LlamaParse 的原班人马)推出的开源文档解析工具,专注于轻量和快速的本地文档解析。它基于 Rust 构建,提供 PDF(以及 20+ 种格式的文档)的空间化文本解析,无需云依赖、无需 API Key、一切在本地运行。
项目在 GitHub 上获得了超过 11,600 颗星,使用 Apache-2.0 许可,支持 Linux、macOS(Intel/ARM)和 Windows 三大平台。
架构:从 PDF 到结构化输出的四段管道
LiteParse 的核心是一个 Rust 工作空间,处理流程分为四个阶段:
- 格式转换:LibreOffice 或 ImageMagick 将非 PDF 文档(.docx、.xlsx、.pptx、.jpg 等)转换为 PDF
- 文本提取:PDFium C 库负责 PDF 渲染和文本定位
- 选择性 OCR:内置 Tesseract 引擎,可选外挂 EasyOCR/PaddleOCR HTTP 服务
- 网格投影:空间布局重建,生成带边界框的结构化输出
输出端支持三种格式:结构化 JSON(含文本和边界框)、布局保留的纯文本、以及带标题/表格/列表的 Markdown。语言绑定覆盖 Rust、Node.js/TypeScript、Python 和浏览器 WASM。
安装:四条通道随便选
LiteParse 暴露统一的 lit CLI,无论哪种安装方式命令都相同:
npm i -g @llamaindex/liteparse pip install liteparse cargo install liteparse npm i @llamaindex/liteparse-wasm
Agent Skill 集成
如果你用 Claude Code 或 Codex,可以直接把 LiteParse 作为技能添加:
npx skills add run-llama/llamaparse-agent-skills --skill liteparse
这样 Agent 在处理文档时就能自动调用 LiteParse,无需手动切换命令行。
功能详解
1. 文档解析(核心功能)
lit parse 是主力命令,支持 20+ 种格式的输入:
lit parse report.pdf lit parse contract.pdf --format markdown -o output.md lit parse book.pdf --target-pages "1-5,10,15-20" curl -sL https://example.com/report.pdf | lit parse - --format markdown
Markdown 输出的亮点:LiteParse 能从空间布局中重建标题层级、表格、列表、图片和链接。这对于 RAG 管线来说比纯文本好用得多——LLM 能理解文档的层次结构和上下文关系。
图片处理有三种模式:
| 模式 | 行为 |
|---|---|
placeholder(默认) | 按阅读顺序输出 标记 |
off | 完全去除图片 |
embed | 将图片 PNG 写入 --image-output-dir 并引用 |
lit parse doc.pdf --format markdown --image-mode off lit parse doc.pdf --format markdown --image-mode embed --image-output-dir ./images
2. 智能复杂度检测
这是 LiteParse 非常实用的特色功能:在真正解析之前,先用轻量级的文本层检查判断文档是否需要 OCR。
lit is-complex document.pdf lit is-complex document.pdf --quiet && lit parse document.pdf --no-ocr
is-complex 对每一页输出 JSON,包含 needs_ocr 判定和 reasons 数组(可能的值:scanned、no-text、sparse-text、embedded-images、garbled、vector-text)。这在搭建多级文档处理管线时非常有用——复杂文档路由到 LlamaParse 云端,简单文档走 LiteParse 本地处理。
3. 截图生成
对于 LLM Agent 来说,光有文本不够——表格结构、图表、UI 界面的视觉信息需要截图来补充:
lit screenshot doc.pdf -o ./screenshots lit screenshot doc.pdf --target-pages "1,3,5" --dpi 200 -o ./images
4. 批量处理
处理整个目录的文档:
lit batch-parse ./invoices/ ./parsed/ --format json
配合 --recursive 递归处理子目录、--extension 过滤特定类型。
5. 灵活的 OCR 系统
LiteParse 内置 Tesseract(随包分发,零配置),但也支持外挂 HTTP OCR 服务:
lit parse doc.pdf lit parse doc.pdf --ocr-language jpn lit parse doc.pdf --ocr-server-url http://localhost:8000/ocr lit parse doc.pdf --tessdata-path /path/to/tessdata
OCR 服务器的 API 规范非常简洁——只需实现 POST /ocr 端点,接受 file 和 language 参数,返回 { results: [{ text, bbox, confidence }] } 格式的 JSON。这意味着你可以接入任意自建或商业 OCR 引擎。
与其他文档解析工具的对比
| 特性 | LiteParse | LlamaParse | Unstructured.io | Marker-pdf |
|---|---|---|---|---|
| 本地运行 | ✅ | ❌ 云端 | ✅ | ✅ |
| PDF 解析 | ✅ 原生 | ✅ | ✅ | ✅ |
| 20+ 格式支持 | ✅ | ❌ | ✅ | ❌ |
| OCR | ✅ 内置 Tesseract | ✅ | ✅ | ✅ |
| 截图生成 | ✅ | ❌ | ❌ | ❌ |
| 复杂度检测 | ✅ | ❌ | ❌ | ❌ |
| Markdown 输出 | ✅ | ✅ | ✅ | ✅ |
| 许可证 | Apache-2.0 | 商业 | Apache-2.0 | GPL-3.0 |
| 多语言绑定 | Rust/Node/Python/WASM | Python | Python | Python |
LiteParse 的独特差异化在于:一次 CLI 命令同时搞定文本解析、OCR、Markdown 转换和截图生成,而且全部本地运行。不需要在多个工具之间切换,不需要调 API Key。
使用场景
场景一:AI Agent 读取 PDF 报告后回答问题
lit parse q4-report.pdf --format markdown -o report.md
场景二:批量发票解析
lit batch-parse ./invoices/ ./parsed-invoices/ --format json --no-ocr
适用于扫描件较少的电子发票处理管线。
场景三:大型文档的 OCR 路由
lit is-complex dense-report.pdf if [ $? -ne 0 ]; then lit parse dense-report.pdf --format markdown -o simple.md else # 复杂文档走云端 LlamaParse llamaparse dense-report.pdf fi
注意事项
- 复杂文档的限制:LiteParse 的 Markdown 重建基于规则和启发式方法,对于密集表格、多列布局和手写扫描件的效果不如 LlamaParse 云端方案。衡量标准是速度 vs 精度——LiteParse 牺牲了一些精度换取了毫秒级的本地解析速度。
- OCR 依赖:默认 Tesseract 对印刷体英文和常见语言效果不错,但对中文手写体、艺术字体的识别精度有限。如需高精度中文 OCR,建议配置 PaddleOCR 服务。
- LibreOffice 转换:处理 .docx/.xlsx 等 Office 格式时需要安装 LibreOffice(可以
brew install libreoffice或apt-get install libreoffice)。
总结
LiteParse 是目前开源社区中最完整的本地文档解析工具之一。它的核心价值在于:用一条命令完成从原始文档到 LLM 可用结构化输出的全流程,且在大多数常见文档上毫秒级返回结果。如果你正在搭建 RAG 管线、构建 AI Agent 文档处理能力,或者只是需要一种简单可靠的方式把各种格式的文档喂给 LLM,LiteParse 是非常值得放入工具箱的选择。
相关链接:
