run-llama发布liteparse
速览
LiteParse 是一个由 LlamaIndex 团队开发的开源文档解析工具,专为 AI 应用设计。它具备极高的解析速度和准确性,能够智能处理复杂文档布局,轻松集成到 RAG(检索增强生成)等 AI 数据管道中。
AI 深度解读
LiteParse:专注本地化、轻量级的高性能 PDF 解析工具
这是什么
LiteParse 是由 run-llama 团队开源的一款独立、专注于“快速且轻量”的 PDF 解析工具。该项目主要使用 Rust 编写,旨在提供高质量的文本空间解析(Spatial Text Parsing),并返回包含边界框(Bounding Boxes)的结构化数据。
与依赖云端 API 或集成专有大语言模型(LLM)功能的解析器不同,LiteParse 强调完全本地运行(Everything runs locally),无需任何云依赖或专有 LLM 功能。它通过底层的 PDFium 库进行文本提取,并结合灵活的 OCR 系统,为开发者提供精准的文字定位信息。
解决的问题
在构建基于 LLM 的应用(如 RAG 系统、文档智能 Agent)时,开发者常面临以下痛点:
- 云端依赖与隐私顾虑:许多主流解析服务(如 LlamaParse 的云端版)需要上传文档到服务器,对于敏感数据或需要严格数据隐私的场景不适用。
- 本地解析性能瓶颈:传统的本地解析工具往往速度较慢,或者无法提供精确的文本空间位置信息,导致后续处理(如表格还原、多栏排版重建)困难。
- 复杂文档处理需求:虽然 LiteParse 专注于轻量级解析,但项目方也明确指出,对于极度复杂的文档(如密集表格、多栏布局、图表、手写体或扫描件),如果本地解析效果不佳,建议转向其商业产品 LlamaParse,后者专为生产级文档流水线设计,能提供更干净的 Markdown 和结构化数据。
- Agent 视觉信息缺失:纯文本解析无法捕捉文档中的视觉元素。LiteParse 提供了截图生成功能,帮助 LLM Agent 通过视觉上下文理解文档内容。
核心功能
LiteParse 的核心架构围绕“输入转换 -> 核心提取 -> 输出绑定”展开,支持多种语言绑定和平台。
1. 多格式输入支持
除了原生支持 PDF,LiteParse 通过集成 LibreOffice 和 ImageMagick,支持自动将以下格式转换为 PDF 后再进行解析:
- Word:
.doc,.docx,.docm,.odt,.rtf,.pages - PowerPoint:
.ppt,.pptx,.pptm,.odp,.key - Spreadsheets:
.xls,.xlsx,.xlsm,.ods,.csv,.tsv,.numbers - Images: 支持直接解析图片文件。
2. 核心解析引擎
- Text Extraction: 使用 PDFium C library 进行高效的文本提取。
- Selective OCR: 提供灵活的 OCR 系统。
- 内置 Tesseract: 零配置,随库捆绑,开箱即用。
- HTTP Servers: 可接入任意 OCR 服务器(如 EasyOCR, PaddleOCR 或自定义服务)。
- 标准 API: 定义了简单的 OCR API 规范,要求 POST
/ocr端点,返回包含text,bbox和confidence的 JSON。
- Grid Projection: 进行空间布局重建,将提取的文本映射回原始页面的坐标空间。
3. 多语言绑定与平台
- Bindings: 提供 Rust, Node.js/TypeScript (via
napi-rs), Python (viaPyO3), 以及 Browser/WASM (viawasm-bindgen) 的绑定。 - Platforms: 支持 Linux, macOS (Intel/ARM), Windows。
4. 输出格式
- JSON: 包含文本及其精确的边界框坐标(
bbox: [x1, y1, x2, y2])。 - Text: 保留布局的纯文本格式。
- Screenshots: 生成高质量 PNG 截图,供 LLM Agent 进行视觉分析。
亮点 / 与同类相比
| 特性 | LiteParse | 传统本地解析器 (如 PyPDF2, pdfplumber) | 云端解析服务 (如 LlamaParse Cloud, AWS Textract) | | :--- | :--- | :--- | :--- | | 运行环境 | 完全本地 | 完全本地 | 云端 | | 速度/性能 | 极快 (Rust 核心, PDFium) | 中等/慢 | 取决于网络和服务端负载 | | 空间信息 | 原生支持 Bounding Boxes | 部分支持,实现复杂 | 通常提供结构化数据 | | OCR 集成 | 灵活 (内置 Tesseract 或 HTTP 插件) | 通常需额外配置复杂库 | 内置高精度 OCR | | 多格式支持 | 广 (自动转换 Word/Excel/PPT) | 通常仅支持 PDF | 广 | | 隐私性 | 高 (数据不出本地) | 高 | 低 (数据需上传) | | 复杂度上限 | 中等 (适合常规文档) | 低 | 高 (适合复杂图表/手写) |
关键亮点:
- Agent 友好:不仅提供文本,还提供截图和精确坐标,完美契合 LLM Agent 的工作流。
- 零配置 OCR:内置 Tesseract,无需用户自行安装庞大的 OCR 引擎即可开始使用。
- 统一 CLI:无论通过
npm,pip还是cargo安装,CLI 命令 (lit) 保持一致,降低学习成本。 - 轻量级:没有庞大的依赖树,适合嵌入到资源受限的环境或作为微服务的一部分。
适合谁用 / 上手
适合人群
- LLM 应用开发者:需要本地化、低延迟的文档解析组件,用于构建 RAG 系统或文档处理 Agent。
- 注重数据隐私的企业:无法将文档上传至第三方云服务,必须在本地完成解析。
- 需要空间布局信息的开发者:需要精确的文本坐标来还原表格、图表或处理多栏排版。
- 全栈开发者:需要同时支持 Python, Node.js 和 Web (WASM) 环境的统一解析方案。
上手指南
1. 安装
LiteParse 支持多种包管理器,安装后均使用 lit 命令。
# Node.js / TypeScript
npm install -g liteparse
# Python
pip install liteparse
# Rust
cargo install liteparse
# 作为 Agent Skill 安装 (通过 skills CLI)
npx skills add run-llama/llamaparse-agent-skills --skill liteparse
2. 基本使用示例
解析 PDF 并输出 JSON(含边界框):
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
生成截图供 Agent 使用:
# 生成所有页面的截图
lit screenshot document.pdf -o ./screenshots
# 生成特定页面,自定义 DPI
lit screenshot document.pdf --target-pages "1,3,5" --dpi 300 -o ./screenshots
批量解析目录:
lit batch-parse ./input-directory ./output-directory
3. OCR 配置
- 默认使用内置 Tesseract:直接运行
lit parse document.pdf即可,默认语言为英语。 - 指定语言:
lit parse document.pdf --ocr-language fra # 法语 - 离线环境:设置
TESSDATA_PREFIX环境变量指向包含.traineddata文件的目录。
