run-llama/liteparse
A fast, helpful, and open-source document parser
LiteParse – LLMフレンドリーなパイプライン向け高速ローカルPDFパーサー
何であるか – LiteParseは、デバイス上で完全にPDF類似ドキュメントからテキスト、レイアウト、画像、ベクターグラフィックスを抽出するオープンソースライブラリです。Rustコアを基盤とし、テキスト抽出にはPDFium、画像ベースのテキスト抽出にはTesseract(または任意のHTTPベースOCR)を使用しています。Rust、Python、Node/TypeScript、WebAssembly用の言語バインディングを提供し、同じ動作を保つ小さなCLI(lit)も同梱されています。
AIにとってなぜ重要か – LLMベースのリトリーバー・オーガナイズド・ジェネレーション(RAG)やエージェントワークフローには、クリーンで構造化されたドキュメントデータが必要です。LiteParseは以下の出力を生成します:
- Markdown:再構成された見出し、表、リスト、画像プレースホルダーを含み、直接LLMに供給可能。
- JSON:生テキスト、正確なバウンディングボックス、オプションの画像メタデータ、ベクターグラフィックスパス、PDF構造ツリー、フォームフィールドを含む。
- スクリーンショット(PNG):ページの視覚的外観をキャプチャし、ビジュアル拡張エージェントに有用。 すべての処理はローカルで実行されるため、クラウドサービスのコスト、レイテンシ、データプライバシーの懸念を回避できます。
主な機能
- 高速かつ軽量 – PDFiumベースのテキスト抽出は高速。OCRはオプションで、任意のHTTP OCRサービスに交換可能。
- 選択的OCR – 低コストな「複雑度チェック」(
lit is-complex)により、重い処理を行う前にOCRが必要かどうかを判断可能。 - マルチフォーマット入力 – PDF、DOCX、XLSX、PPTX、画像は、LibreOffice + Rust画像クレートを使用してPDF類似表現に変換され、一貫した処理が可能。
- 豊富な出力オプション – プレーンテキスト、Markdown、構造化JSONを選択可能。画像抽出、ベクターグラフィックス、PDF構造ツリー、レイアウトブロック、注釈、フォームフィールド、ドキュメントメタデータ、コンテンツ範囲、XFAパケットなどをオプトイン可能。
- クロスプラットフォーム – Linux、macOS(Intel/ARM)、Windowsで動作。ブラウザ用のWASMパッケージも利用可能。
- エージェントスキル統合 –
skillsCLI経由でLLMエージェントスキルとしてインストール可能。エージェントが即座にliteparseを呼び出せる。
インストール(言語/ランタイムを選択)
| 言語 | コマンド | ドキュメント |
|---|---|---|
| Rust (CLI) | cargo install liteparse |
crates.io README |
| Python | pip install liteparse |
Python README |
| Node/TypeScript | npm i -g @llamaindex/liteparse |
Node README |
| ブラウザ (WASM) | npm i @llamaindex/liteparse-wasm |
WASM README |
典型的なCLIワークフロー
# 基本的なテキスト抽出
lit parse report.pdf
# Markdown出力(LLMプロンプトに最適)
lit parse report.pdf --format markdown -o report.md
# バウンディングボックスと画像付きJSON
lit parse report.pdf --format json --extract-images -o report.json
# 速やかなOCR必要性チェック
lit is-complex report.pdf && lit parse report.pdf --no-ocr
# フォルダのバッチ処理
lit batch-parse ./in ./out --format markdown
# 視覚エージェント用ページスクリーンショット生成
lit screenshot report.pdf -o ./screenshots --dpi 300
ライブラリとしての使用方法(Python例)
from liteparse import LiteParse
parser = LiteParse(ocr=False) # OCRを無効化して高速化
result = parser.parse_path('report.pdf')
print(result.json()) # バウンディングボックス付きの構造化出力
(Rust、Node、WASMでも同等のAPIが利用可能。)
クラウド版を使うべきタイミング – 非常に複雑なPDF(密集した表、多カラムレイアウト、スキャン済みドキュメント、手書きメモなど)の場合、作者は重いAI駆動のレイアウト再構成を追加するクラウドサービス「LlamaParse」を推奨しています。LiteParseは、速度、プライバシー、オフライン動作が必要な場合の最適選択です。
誰が恩恵を受けるか
- PDFをインプットするRAGパイプラインを構築する開発者で、高速かつ決定論的な前処理が必要な人。
- ページスクリーンショットや正確なテキスト座標を必要とするLLMエージェントプラットフォーム。
- 外部サービスにドキュメントを送信できないデータプライバシー制約のある企業。
- 重いMLスタックなしで軽量かつクロスランゲージPDFパーサーが必要な人。
TL;DR – LiteParseは、高速でローカルで実行されるPDF(およびオフィスドキュメント)パーサーで、Markdown、バウンディングボックス付きJSON、画像、ベクターグラフィックスを出力可能。Rust、Python、Node、またはブラウザから呼び出せる。クラウド依存なしで構造化ドキュメントデータが必要なAI/RAGワークフローに最適です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト