@jerryjliu0: 这太疯狂了,LiteParse 在 Markdown 文档解析上的表现甚至能与前沿 VLM 一较高下——当它…

X AI KOLs Following 工具

摘要

LiteParse 是一个快速、开源的文档解析器,在不使用 AI 模型的情况下,其在 Markdown 解析方面的表现优于一些前沿 VLM。它支持多种语言和平台,由 LlamaIndex 开发。

这太疯狂了,LiteParse 在 Markdown 文档解析上的表现甚至能与前沿 VLM 一较高下——尽管它根本没有使用 VLM 或任何 AI/OCR 模型。它完全是纯代码实现的。 在 ParseBench 上,它超越了 Qwen 3.5-9B / GLM-OCR。 与 Gemma 4 和 PaddleOCR-VL 等模型相比,仍存在差距,尤其是在密集的视觉输出方面,但如果你的文档以文本/表格为主,这种差距会迅速缩小。 快来看看吧:它是你能用到的最快的文档解析器,而且完全免费/开源。 仓库:https://github.com/run-llama/liteparse…
查看原文
查看缓存全文

缓存时间: 2026/06/20 18:20

LiteParse在Markdown文档解析上的表现简直令人惊讶,即使与前沿VLM(视觉语言模型)相比也毫不逊色——而它本身根本不使用VLM或任何AI/OCR模型。它纯粹是代码。在ParseBench上,它超越了Qwen 3.5-9B / GLM-OCR。虽然在密集视觉输出方面,与Gemma 4和PaddleOCR-VL等模型仍有差距,但如果你的文档以文本/表格为主,这个差距会迅速缩小。快来试试吧:这是你能用到的最快的文档解析器,完全免费/开源。仓库:https://github.com/run-llama/liteparse… — # run-llama/liteparse 来源:https://github.com/run-llama/liteparse # LiteParse CI(https://github.com/run-llama/liteparse/actions/workflows/ci.yml) | Crates.io版本(https://crates.io/crates/liteparse) | npm版本(https://www.npmjs.com/package/@llamaindex/liteparse) | wasm版本(https://www.npmjs.com/package/@llamaindex/liteparse-wasm) | PyPI版本(https://pypi.org/project/liteparse/) | 许可证(https://opensource.org/licenses/Apache-2.0) | 文档(https://developers.llamaindex.ai/liteparse/) | English | 简体中文 > 寻找LiteParse V1?请点击此链接查看旧代码(https://github.com/run-llama/liteparse/tree/logan/liteparse-v1) LiteParse是一个独立的开源PDF解析工具,专注于快速且轻量的解析。它提供带有边界框的高质量空间文本解析,不依赖专有LLM功能或云依赖。一切都在你本地机器上运行。 本地解析遇到瓶颈? 对于复杂文档(密集表格、多栏布局、图表、手写文字或扫描PDF),你可以使用LlamaParse(https://developers.llamaindex.ai/python/cloud/llamaparse/?utm_source=github&utm_medium=liteparse)获得显著更好的结果,这是我们的云文档解析器,专为生产级文档管道打造。LlamaParse能处理困难的部分,让你的模型看到干净、结构化的数据和Markdown。 > 免费注册LlamaParse(https://cloud.llamaindex.ai?utm_source=github&utm_medium=liteparse) ## 概述 - 快速文本解析:使用PDFium进行空间文本解析 - 灵活的OCR系统: - 内置:Tesseract(零配置,随库捆绑) - HTTP服务器:可接入任何OCR服务器(EasyOCR、PaddleOCR、自定义) - 标准API:简单、定义明确的OCR API规范 - 截图生成:生成高质量页面截图,供LLM代理使用 - 多种输出格式:Markdown、JSON和纯文本 - Markdown输出:结构化Markdown,包含标题、表格、列表、图片和链接——非常适合输入LLM和RAG管道 - 边界框:精确的文本定位信息 - 多语言:支持Rust、Node.js/TypeScript、Python或浏览器(WASM) - 多平台:Linux、macOS(Intel/ARM)、Windows mermaid flowchart LR subgraph Input["输入格式"] direction TB PDF["PDF"] DOCX["DOCX"] XLSX["XLSX"] PPTX["PPTX"] IMG["图片"] end subgraph Core["Rust核心"] direction TB CONV["格式转换\nLibreOffice / ImageMagick"] EXTRACT["文本提取\nPDFium C库"] OCR["选择性OCR\nTesseract / HTTP / 自定义"] MERGE["OCR合并\n原生文本 + OCR结果"] PROJ["网格投影\n空间布局重建"] CONV --> EXTRACT EXTRACT --> OCR --> MERGE --> PROJ EXTRACT --> MERGE end subgraph Output["输出"] direction TB JSON["结构化JSON\ntext + 边界框"] TEXT["纯文本\n保留布局"] SCREEN["截图\nPNG渲染"] end subgraph Bindings["语言绑定"] direction TB NAPI["Node.js / TypeScript\nnapi-rs"] PYO3["Python\nPyO3"] WASM["浏览器 / WASM\nwasm-bindgen"] CLI["CLI\ncargo / npm / pip"] NAPI ~~~ PYO3 ~~~ WASM ~~~ CLI end PDF --> EXTRACT DOCX & XLSX & PPTX & IMG --> CONV PROJ --> JSON & TEXT & SCREEN JSON & TEXT & SCREEN --> Bindings style Input fill:#F5F5F5,color:#000000,stroke:#37D7FA,stroke-width:2px style Core fill:#F5F5F5,color:#000000,stroke:#3E18F9,stroke-width:2px style Output fill:#F5F5F5,color:#000000,stroke:#FF8705,stroke-width:2px style Bindings fill:#F5F5F5,color:#000000,stroke:#FF8DF2,stroke-width:2px style PDF fill:#96E7F9,color:#000000,stroke:#37D7FA,stroke-width:1px style DOCX fill:#96E7F9,color:#000000,stroke:#37D7FA,stroke-width:1px style XLSX fill:#96E7F9,color:#000000,stroke:#37D7FA,stroke-width:1px style PPTX fill:#96E7F9,color:#000000,stroke:#37D7FA,stroke-width:1px style IMG fill:#96E7F9,color:#000000,stroke:#37D7FA,stroke-width:1px style CONV fill:#92AEFF,color:#000000,stroke:#4B72FE,stroke-width:1px style EXTRACT fill:#92AEFF,color:#000000,stroke:#4B72FE,stroke-width:1px style OCR fill:#92AEFF,color:#000000,stroke:#4B72FE,stroke-width:1px style MERGE fill:#92AEFF,color:#000000,stroke:#4B72FE,stroke-width:1px style PROJ fill:#4B72FE,color:#FFFFFF,stroke:#3E18F9,stroke-width:2px style JSON fill:#FFBD74,color:#000000,stroke:#FF8705,stroke-width:1px style TEXT fill:#FFBD74,color:#000000,stroke:#FF8705,stroke-width:1px style SCREEN fill:#FFBD74,color:#000000,stroke:#FF8705,stroke-width:1px style NAPI fill:#FFBFF8,color:#000000,stroke:#FF8DF2,stroke-width:1px style PYO3 fill:#FFBFF8,color:#000000,stroke:#FF8DF2,stroke-width:1px style WASM fill:#FFBFF8,color:#000000,stroke:#FF8DF2,stroke-width:1px style CLI fill:#FFBFF8,color:#000000,stroke:#FF8DF2,stroke-width:1px ## 安装 通过你偏好的包管理器安装。所有版本(WASM除外)都附带相同的lit CLI。 | 语言 | 安装命令 | 库文档 | |——|–––––|––––| | Node.js / TypeScript | npm i @llamaindex/liteparse | Node.js README | | Python | pip install liteparse | Python README | | Rust | cargo install liteparse(CLI)/ cargo add liteparse(库) | Rust README(crates.io) | | 浏览器(WASM) | npm i @llamaindex/liteparse-wasm | WASM README | ### 代理技能 你可以将liteparse作为代理技能使用,通过skills CLI工具下载: bash npx skills add run-llama/llamaparse-agent-skills --skill liteparse 或者将SKILL.md(https://github.com/run-llama/llamaparse-agent-skills/blob/main/skills/liteparse/SKILL.md)文件复制到你自己的技能设置中。 ## CLI 使用 所有安装方式(npmpipcargo install)的CLI相同。 ### 解析文件 bash # 基本解析 lit parse document.pdf # 解析为Markdown——标题、表格、列表、图片、链接 lit parse document.pdf --format markdown -o output.md # 使用特定格式解析 lit parse document.pdf --format json -o output.json # 解析特定页面 lit parse document.pdf --target-pages "1-5,10,15-20" # 不使用OCR解析 lit parse document.pdf --no-ocr # 解析远程PDF curl -sL https://example.com/report.pdf | lit parse - ### Markdown输出 LiteParse可以直接将文档渲染为Markdown。这意味着从空间布局中重建标题、表格、列表、图片和链接。这对于将文档输入LLM和RAG管道非常理想。此模式纯粹基于启发式和规则,因此复杂文档可能无法完美渲染,但速度很快。 bash # 渲染为Markdown lit parse document.pdf --format markdown -o output.md # 去除图片,不生成占位符 lit parse document.pdf --format markdown --image-mode off # 将嵌入图片提取到磁盘,并从markdown中引用 lit parse document.pdf --format markdown --image-mode embed --image-output-dir ./images # 将链接文本输出为纯文本(不使用[text](url)语法) lit parse document.pdf --format markdown --no-links 图片处理由--image-mode控制: | 模式 | 行为 | |——|——| | placeholder(默认) | 按阅读顺序输出占位符 | | `off` | 完全去除图片 | | `embed` | 将每张图片的PNG字节写入`--image-output-dir`并引用 | > Markdown重建质量会随文档复杂度变化。对于最困难的文档(密集表格、多栏布局、扫描件), > LlamaParse(https://developers.llamaindex.ai/python/cloud/llamaparse/?utm_source=github&utm_medium=liteparse) > 仍然是最准确的选项。 ### 批量解析 解析整个目录中的文档: bash lit batch-parse ./输入目录 ./输出目录 ### 生成截图 截图对于LLM代理提取纯文本无法捕获的视觉信息至关重要。bash # 截取所有页面 lit screenshot document.pdf -o ./screenshots # 截取特定页面 lit screenshot document.pdf –target-pages “1,3,5” -o ./screenshots # 自定义DPI lit screenshot document.pdf –dpi 300 -o ./screenshots ### CLI参考 #### Parse命令 lit parse [OPTIONS] 选项: -o, –output 输出文件路径 –format 输出格式:json|text|markdown [默认:text] –no-ocr 禁用OCR –ocr-language OCR语言,Tesseract格式 [默认:eng] –ocr-server-url HTTP OCR服务器URL(未提供则使用Tesseract) –tessdata-path tessdata目录路径 –max-pages 最大解析页数 [默认:1000] –target-pages 要解析的页面(例如:“1-5,10,15-20”) –dpi 渲染DPI [默认:150] –image-mode Markdown图片处理:off|placeholder|embed [默认:placeholder] –image-output-dir 当–image-mode embed时写入图片的目录 –no-links 将链接锚文本输出为纯文本(不使用text) –preserve-small-text 保留非常小的文本 –password 加密文档的密码 –num-workers 并发OCR工作线程数 [默认:CPU核心数 - 1] -q, –quiet 抑制进度输出 -h, –help 打印帮助 #### Batch Parse命令 lit batch-parse [OPTIONS] 选项: –format 输出格式:json|text|markdown [默认:text] –no-ocr 禁用OCR –ocr-language OCR语言 [默认:eng] –ocr-server-url HTTP OCR服务器URL –tessdata-path tessdata目录路径 –max-pages 每个文件最大页数 [默认:1000] –dpi 渲染DPI [默认:150] –recursive 递归搜索输入目录 –extension 仅处理具有此扩展名的文件(例如:“.pdf”) –password 加密文档的密码 –num-workers 并发OCR工作线程数 -q, –quiet 抑制进度输出 -h, –help 打印帮助 #### Screenshot命令 lit screenshot [OPTIONS] 选项: -o, –output-dir 输出目录 [默认:./screenshots] –target-pages 要截取的页面(例如:“1,3,5” 或 “1-5”) –dpi 渲染DPI [默认:150] –password 加密文档的密码 -q, –quiet 抑制进度输出 -h, –help 打印帮助 ## OCR设置 ### 默认:Tesseract Tesseract已捆绑,开箱即用:bash lit parse document.pdf # 默认启用OCR lit parse document.pdf –ocr-language fra # 指定语言 lit parse document.pdf –no-ocr # 禁用OCR 对于离线或隔离环境,设置`TESSDATA_PREFIX`指向包含预下载`.traineddata`文件的目录:bash export TESSDATA_PREFIX=/path/to/tessdata lit parse document.pdf –ocr-language eng 或者直接传递路径:bash lit parse document.pdf –tessdata-path /path/to/tessdata ### 可选:HTTP OCR服务器 为了获得更高的准确性或更好的性能,你可以使用HTTP OCR服务器。我们为流行的OCR引擎提供了现成的示例包装器: - [EasyOCR](ocr/easyocr/README.md) - [PaddleOCR](ocr/paddleocr/README.md) 你可以通过实现简单的LiteParse OCR API规范(参见[`OCR_API_SPEC.md`](OCR_API_SPEC.md))集成任何OCR服务。该API要求: - 提供POST `/ocr`端点 - 接受`file`和`language`参数 - 返回JSON:`{ results: [{ text, bbox: [x1,y1,x2,y2], confidence }] }` ## 多格式输入支持 LiteParse支持在解析前**自动转换**各种文档格式为PDF。 ### 支持的输入格式 #### Office文档(通过LibreOffice) - **Word**:`.doc`, `.docx`, `.docm`, `.odt`, `.rtf`, `.pages` - **PowerPoint**:`.ppt`, `.pptx`, `.pptm`, `.odp`, `.key` - **电子表格**:`.xls`, `.xlsx`, `.xlsm`, `.ods`, `.csv`, `.tsv`, `.numbers` 安装LibreOffice以自动转换:bash # macOS brew install –cask libreoffice # Ubuntu/Debian apt-get install libreoffice # Windows choco install libreoffice-fresh > _在Windows上,你可能需要将LibreOffice的程序目录(通常是`C:\Program Files\LibreOffice\program`)添加到PATH中。_ #### 图片(通过ImageMagick) - **格式**:`.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.tiff`, `.webp`, `.svg` 安装ImageMagick以进行图片到PDF的转换:bash # macOS brew install imagemagick # Ubuntu/Debian apt-get install imagemagick # Windows choco install imagemagick.app ## 环境变量 | 变量 | 描述 | |------|------| | `TESSDATA_PREFIX` | 包含Tesseract `.traineddata`文件的目录路径。用于离线/隔离环境。 | ## 开发 该项目是一个Rust工作空间,包含核心库和特定语言绑定包。 crates/ ├── liteparse/ # 核心库 + CLI二进制 ├── liteparse-napi/ # Node.js绑定(napi-rs) ├── liteparse-python/ # Python绑定(PyO3) ├── liteparse-wasm/ # WASM绑定(wasm-bindgen) ├── pdfium/ # PDFium Rust包装器 └── pdfium-sys/ # PDFium FFI绑定 packages/ ├── node/ # npm包(TS包装器 + 本地二进制) ├── python/ # PyPI包(Python包装器 + 本地二进制) └── wasm/ # WASM npm包 ### 构建bash # 构建CLI cargo build –release -p liteparse # 构建Node.js绑定 cd packages/node && npm run build # 构建Python绑定 cd packages/python && maturin develop –release # 构建WASM cd packages/wasm && npm run build `` 我们提供了一个相当丰富的AGENTS.md/CLAUDE.md,建议你使用它们来辅助开发和编码代理。 ## 许可证 Apache 2.0 ## 致谢 基于以下项目构建: - PDFium(https://pdfium.googlesource.com/pdfium/) - PDF渲染和文本提取 - Tesseract(https://github.com/tesseract-ocr/tesseract) - OCR引擎(通过tesseract-rs) - EasyOCR(https://github.com/JaidedAI/EasyOCR) - HTTP OCR服务器(可选) - PaddleOCR(https://github.com/PaddlePaddle/PaddleOCR) - HTTP OCR服务器(可选) - napi-rs(https://napi.rs/) - Node.js本地绑定 - PyO3(https://pyo3.rs/) - Python本地绑定 - wasm-bindgen(https://github.com/wasm-bindgen/wasm-bindgen) - WebAssembly绑定 > Jerry Liu(@jerryjliu0): > 我们构建了世界上最快的PDF→Markdown解析器 🚀⚡️ > > 而且在三个标准化基准测试(olmOCR0-bench、opendataloader-bench、ParseBench)中,它比任何其他开源、无模型的解析器(pymupdf4llm、opendataloader、pdf-inspector、markitdown)都更准确。 > > 介绍

相似文章