@jerryjliu0: LiteParse,我们的开源/基于Rust的文档解析器,运行速度之快,连Claude Fable 5都难以置信 🔥
摘要
LiteParse 是一款快速的开源文档解析器,采用 Rust 编写,提供带边界框的高质量空间文本提取功能,支持多种语言和平台,适用于 AI 文档工作负载。
查看缓存全文
缓存时间: 2026/06/10 07:44
LiteParse,我们开源的、基于Rust的文档解析器,运行速度快到连Claude Fable 5都难以置信 🔥 它是地球上最快的文档解析方案,是你的AI文档工作负载的绝佳选择。立即查看:https://t.co/VfA6yJwzcZ https://t.co/DUjhiF2CTq — # 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 是一个独立的 OSS 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 agent 生成高质量的页面截图 - 多种输出格式:JSON 和文本 - 边界框:精确的文本位置信息 - 多语言支持:可从 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\n文本 + 边界框"] 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 除外)都附带相同的 litCLI。 | 语言 | 安装 | 库文档 | |------|------|--------| | **Node.js / TypeScript** |npm i @llamaindex/liteparse| [Node.js README](packages/node/README.md) | | **Python** |pip install liteparse| [Python README](packages/python/README.md) | | **Rust** |cargo install liteparse(CLI) /cargo add liteparse(lib) | [Rust README (crates.io)](crates/liteparse/README.md) | | **浏览器 (WASM)** |npm i @llamaindex/liteparse-wasm| [WASM README](packages/wasm/README.md) | ### Agent 技能 您可以将liteparse作为 agent 技能使用,使用skillsCLI 工具下载: ``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 用法 所有安装方式(npm、pip、cargo install)的 CLI 一致。 ### 解析文件 ``bash # 基本解析 lit parse document.pdf # 指定格式解析 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 - `` ### 批量解析 解析整个目录的文档: ``bash lit batch-parse ./input-directory ./output-directory `` ### 生成截图 截图对于 LLM agent 提取纯文本无法捕获的视觉信息至关重要。 ``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 [默认: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] --preserve-small-text 保留非常小的文本 --password 加密文档的密码 --num-workers 并发 OCR 工作线程数 [默认:CPU 核心数 - 1] -q, --quiet 抑制进度输出 -h, --help 打印帮助 `` #### batch-parse 命令 `` lit batch-parse [OPTIONS] 选项: --format 输出格式:json|text [默认: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`,建议用于帮助开发和编码 agent。 ## 许可证 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 绑定 > Logan Markewich (@LoganMarkewich): > LiteParse 运行速度如此之快,以至于 Claude Fable 5 都不相信它是真的。
相似文章
@jerryjliu0: 这太疯狂了,LiteParse 在 Markdown 文档解析上的表现甚至能与前沿 VLM 一较高下——当它…
LiteParse 是一个快速、开源的文档解析器,在不使用 AI 模型的情况下,其在 Markdown 解析方面的表现优于一些前沿 VLM。它支持多种语言和平台,由 LlamaIndex 开发。
@jerryjliu0: LiteParse 是为 AI 智能体设计的最佳开源、无模型文档解析器。支持解析 50 多种文档类型,并…
LlamaIndex 发布了 liteparse-server,这是一个可自托管、无模型的 HTTP API,能够以高空间保真度和隐私保护能力解析多种多样的文档类型。
@jerryjliu0: 以光速解析PDF(此视频为1倍速)简直是电影
Jerry Liu宣布了LiteParse v2,一款基于Rust的PDF解析器,据称是目前最快、最准确的开源、无模型PDF解析器。
@jerryjliu0:LiteParse,我们的开源文档解析器,在将复杂 PDF 布局、文本和表格解析为清晰的空间网格方面表现出色……
LiteParse 是一款基于启发式规则的开源 PDF 解析器,无需依赖 ML 模型即可快速将复杂布局、文本和表格转换为整洁的空间网格。
@jerryjliu0:上周我们重做了Liteparse,使其成为目前最快的PDF解析器。Liteparse的一个被低估之处是它不仅能提取文本,还能提供边界框,让编码代理能够精确绘制出原始文档的审计轨迹。
Jerry Liu宣布重做后的LiteParse是一款快速的PDF解析器,可提供用于审计轨迹的边界框,并附带示例演示。