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パッケージも利用可能。
  • エージェントスキル統合skills CLI経由で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ワークフローに最適です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト