RAG(検索拡張生成)の精度は、投入する文書データの質で大きく左右されます。レイアウトを無視してテキストだけを切り出すと、表や見出しの文脈が壊れ、検索にも生成にも不利になります。

本記事では、PDF・PPT・Word・画像をRAG向けの構造化チャンクに変換するオープンソースの文書インテリジェンス基盤「Chunkr」の概要と、セルフホストの手順、クラウド版との違いを整理します。

この記事でわかること

  • Chunkrが解決するRAG前処理の課題
  • レイアウト解析・OCR・チャンク化の主な機能
  • Docker Composeでのローカル起動手順
  • オープンソース版とCloud APIの違い

https://github.com/lumina-ai-inc/chunkr

Chunkrとは

Chunkrは、Lumina AIが公開するオープンソースの文書インテリジェンスAPIです。PDF、PowerPoint(PPT/PPTX)、Word(DOC/DOCX)、画像(PNG、JPG、TIFFなど)を、レイアウト解析・OCR・セマンティックチャンク化のパイプラインで処理し、RAGやLLM向けの構造化データとして出力します。

公式ドキュメントでは、本番運用を想定したレイアウト解析・OCR・セマンティックチャンク化を担うサービスと位置づけられています。GitHubリポジトリはAGPL-3.0ライセンスで、2026年6月時点でスター数3424、フォーク数214です。

2026年6月27日、GitHub Projects CommunityのアカウントがChunkrを紹介し、レイアウト解析とOCR・バウンディングボックス、HTML/Markdown出力、Vision-Languageモデル(VLM)処理を挙げています。

RAG前処理で起きる課題

社内資料や論文、スライドをそのままベクトルDBに入れると、次のような問題が起きやすくなります。

  • 表が1行のテキストに潰れ、数値の意味が失われる
  • 見出しと本文が分離され、セクション単位の検索が効かない
  • スキャンPDFでは文字が取れず、OCRなしでは使えない
  • 固定長で機械的に分割すると、キャプションと図が別チャンクになる

RAGでは「検索に引っかかる単位」と「LLMに渡す文脈のまとまり」の両方が重要です。文書の構造を理解したうえでチャンク化する仕組みが必要になります。

Chunkrが解決するポイント

Chunkrは、文書をいきなり文字列化せず、まずレイアウト要素として分割します。そのうえでOCRとVLM処理をかけ、最後に階層を意識したチャンク化でRAG向けデータを生成します。

処理の流れは、セグメンテーション(レイアウト検出)→ セグメントごとのOCR・VLM処理 → チャンク化、という3段階です。チャンク化はセグメンテーションの後に行われ、各チャンクには処理済みセグメントのコンテンツ、HTML、Markdown、任意のLLM出力が含まれます(Chunking概念ドキュメント)。

主な機能

レイアウト解析とセグメンテーション

YOLOベースのレイアウト検出で、表・画像・見出し・リスト・キャプション・数式・段落などを識別します。セグメンテーション戦略はLayoutAnalysis(デフォルト)とPage(1ページを1セグメント)から選べます。複雑なレイアウトにはLayoutAnalysis、テキスト中心の資料にはPageが向きます(Processing Documents)。

v2.2.1(2025年7月31日リリース)では、消費者向けハードウェアでの実用性を高めるため、レイアウト検出モデルをvgtからYOLOへ置き換えています。

OCRとバウンディングボックス

OCRエンジンにはDocTR(Document Text Recognition)を採用しています。OCR戦略はAll(全ページにOCRを適用)とAuto(テキストレイヤーが十分なページはOCRを省略)から選べます。ネイティブPDFのテキストレイヤー抽出と、スキャン文書向けの高解像度画像処理にも対応します。出力にはバウンディングボックス座標が付き、引用位置の特定にも使えます。

構造化出力とVLM処理

出力形式はHTML(セマンティックマークアップ付き)、Markdown、座標・メタデータ付きJSONから選べます。VLM処理では、表構造の抽出、画像説明の生成、要約、RAG向けセマンティックチャンク化が可能です。LLMはmodels.yamlで複数モデルを登録するか、環境変数でOpenAI互換エンドポイントを指定します。OpenAI、Google AI Studio、OpenRouter、OllamaやvLLMなどのセルフホスト先に対応しています(GitHub README)。

階層型チャンク化

target_lengthに正の値を設定すると、見出し階層やキャプションと図のペアを保ったままチャンクを組み立てます。target_lengthを0にすると、1セグメント=1チャンクの細かい出力になります。トークナイザはWordCl100kBase(OpenAI系)などから選べ、埋め込みモデルに合わせた長さ計算が可能です。RAG用途では512〜1024トークン程度が推奨されています。

アーキテクチャ

マイクロサービス構成で、FastAPIベースのREST API(Rust/Actix-Web)、Redisによるタスクキュー、MinIO(オブジェクトストレージ)、PostgreSQL(メタデータ)、React製Web UIで構成されます。Docker Composeで一括起動できます。

セルフホストの手順

  1. リポジトリをクローンし、.env.example.envに、models.example.yamlmodels.yamlにコピーする
  2. models.yamlまたは環境変数でLLMを設定する
  3. GPU環境ならdocker compose up -d、CPUのみならcompose.cpu.yaml、Mac ARM(M1/M2/M3)ならcompose.mac.yamlも併用する
  4. Web UIはhttp://localhost:5173、APIはhttp://localhost:8000でアクセスする

GPUを使う場合はNVIDIA Container Toolkitの導入が前提です。APIでは文書をタスクとして投入し、ステータスをポーリングして結果を取得する非同期モデルになっています。

料金と提供形態

Chunkrには3つの提供形態があります。

形態 用途 主な特徴
オープンソース(GitHub) 開発・検証 セルフホスト、コミュニティモデル、Discordサポート
Cloud API(chunkr.ai) 本番ワークロード 独自モデル、Excel対応、マネージド運用
Enterprise 大規模・高セキュリティ オンプレ/VPC、カスタムチューニング

オープンソース版はExcel非対応で、レイアウト解析・OCR・VLMはコミュニティモデルに依存します。Cloud APIは独自のインハウスモデルで精度と速度を高め、Excelのネイティブパーサーも備えています。AGPL-3.0の義務を避けて商用利用する場合は、別途商用ライセンスの問い合わせが必要です。

類似ツールとの違い

文書パース系のOSSは他にもありますが、Chunkrの特徴は次の点に集約されます。

  • パイプラインの一体性: レイアウト検出からOCR、VLM、チャンク化までを1つのAPIで完結できる
  • RAG向け設計: 階層型チャンク化やembed_sourcesの設定で、ベクトル化用テキストを細かく制御できる
  • セルフホストの完備: Docker ComposeとWeb UIが同梱され、オンプレ検証のハードルが低い
  • クラウドへの移行経路: 同じChunkrブランドのCloud API・Enterprise版があり、検証から本番への段階的移行が想定されている

単純なPDFテキスト抽出ツールと比べ、表や図を含む複雑な文書をRAG向けに整える用途で差が出ます。

使うときの注意点

オープンソース版は「開発とテストに最適」と公式が明記しており、本番の高精度要件にはCloud APIの検討が推奨されています。VLM処理を有効にすると外部LLM APIのコストがかかるため、segment_processingでセグメント種別ごとにAuto/LLM/Ignoreを切り分けると効率的です。OCRをAllに固定すると処理時間が伸びるため、テキストレイヤーのあるPDFではAutoが現実的です。

RAGパイプラインのボトルネックが「雑な前処理」にあるなら、Chunkrはレイアウトを保持したチャンク生成を試す価値のある選択肢です。まずはDocker Composeでローカルに立ち上げ、手元のPDFやスライドで出力のHTML・Markdown・JSONを確認してから、本番連携を検討する流れが現実的です。