モデル / データセット
VectifyAI/PageIndex avatar
VectifyAI/PageIndex

PageIndexのツリー索引:長文RAGでベクトル検索を外す設計

PageIndex: ベクトルレス、推論ベースの RAG のドキュメント インデックス。 AlphaGo からインスピレーションを得て、**PageIndex** を提案します。**PageIndex** は、**ベクターレス**、**推論ベースの RAG** システムであり、長い文書から **階層ツリー インデックス**を構築し、LLM を使用して **エージェント的でコンテキストを意識した検索**のためにそのインデックスを**推論**します。

スター 35,654フォーク 3,143PythonMIT

ひと目でわかる

これは何?
PageIndexはPDFから階層ツリーを作り、LLMがその構造を検索するRAGです。FinanceBenchの数値はREADMEによる報告であり、一般性能の保証とは分けて読みます。
誰に向いている?
長い財務資料や規制文書を章構造付きで検索したいチームには検討対象になります。固定チャンクとベクトルDBを前提にした既存基盤の置換を急ぐ用途には向かず、まず `pip install -U pageindex` 後に `submit_document` と引用付き `chat` の出力を同じPDFで確認するのが先です。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

ベクトルレスで推論ベースの検索

PageIndexは、検索拡張生成における文書索引のためのPythonリポジトリです。その設計は、ベクトル埋め込みとチャンキングを完全に廃止しています。代わりに、長いPDFから目次に似た階層ツリー索引を構築し、LLMにその索引上で推論させて関連セクションを見つけます。READMEは、このアプローチがAlphaGoに触発され、人間の専門家が複雑な文書をナビゲートする方法を模倣しようとしていると述べています。

PageIndexでは、索引の単位を固定長チャンクではなく文書内の自然な章や節に置きます。READMEの比較表は、ベクトルRAGがクエリ埋め込みによる類似度検索を行うのに対し、PageIndexは会話履歴やドメイン知識を含む文脈でツリーを探索すると説明しています。したがって、同じ質問でもどの節を選んだかを追跡しやすい設計ですが、LLMの探索コストと回答品質は選ぶモデルに依存します。

2段階プロセス:ツリー構築とツリー検索

READMEは検索を2段階と説明しています。まずPageIndexは、タイトル、ID、ページ範囲、要約、子ノードを持つノードを含む目次スタイルのツリー構造を文書から生成します。次に、ツリー検索を通じてエージェント的で推論ベースの検索を実行します。出力は明示的なページとセクションの参照に基づいており、プロジェクトはこれを追跡可能で説明可能と呼んでいます。このツリー構造は、財務報告書、法務文書、技術マニュアルなどの長い専門文書を対象としています。

ベクトルRAGとの対比

PageIndexは、従来のベクトルベースRAGと区別する5つの中核機能を挙げています:ベクトルデータベースなし、チャンキングなし、追跡可能性と説明可能性の向上、文脈を考慮した検索、人間らしい検索。READMEは、ベクトル検索は関連性ではなく意味的類似性に依存しており、類似性は関連性と同じではないと論じています。PageIndexは、文書構造とLLM推論を使用して、会話履歴やドメイン知識を含む完全なクエリコンテキストに依存する結果を取得するものと位置づけています。

デプロイオプションとホスト型サービス

リポジトリは3つのデプロイ経路を提供しています。セルフホストは、標準的なPDF解析を使用してオープンソースコードをローカルで実行します。クラウドサービスは、READMEが説明するように、強化されたOCR、ツリー構築、検索を備えた本番グレードのパイプラインを提供し、チャットプラットフォーム、MCP、またはAPIからアクセスできます。エンタープライズ展開は、VPCやオンプレミスを含む専用またはプライベート環境で利用可能です。READMEは複雑なPDFがクラウドサービスの恩恵を受ける可能性があると述べていますが、セルフホストとクラウドパイプラインの性能比較は示していません。

パッケージの使い方とコマンドラインの流れ

パッケージを使うには、READMEによると、まずpip3 install --upgrade -r requirements.txtで依存関係をインストールし、ルートディレクトリに.envファイルを作成してLLM APIキー(例:OPENAI_API_KEY)を設定します。LiteLLM経由で複数のLLMをサポートします。メインコマンドはpython3 run_pageindex.py --pdf_path /path/to/your/document.pdfです。オプション引数には、--model、--toc-check-pages、--max-pages-per-node、--max-tokens-per-node、ノードIDや要約、ドキュメント説明を追加するフラグがあります。Markdownファイルは--md_pathでサポートされ、READMEは元の階層を失うツールでPDFをMarkdownに変換しないよう警告しています。PageIndex Flashプレビューモードは、LLMなしでヒューリスティックにツリー構造を生成し、LLMはノード要約のみに使用されます。--flashで呼び出し、--optimizeで改良できます。

エージェント例とクイックスタートノートブック

完全なエージェント型ベクトルレスRAGの例はexamples/agentic_vectorless_rag_demo.pyにあり、OpenAI Agents SDKを使用します。READMEは2つのコマンドを提供しています:pip3 install openai-agentsとpython3 examples/agentic_vectorless_rag_demo.py。また、最小限のベクトルレスRAGパイプラインと、OCRなしでページ画像に直接作用するビジョンベースのバージョンのノートブックもあります。これらの例はセルフホストの経路を示すためのものですが、READMEは実行時要件や期待される出力品質については述べていません。

ケーススタディ、エコシステム、ライセンス

READMEは、PageIndexを搭載した推論ベースRAGシステムMafin 2.5が、財務文書QAベンチマークであるFinanceBenchで98.7%の精度を達成し、ベクトルベースRAGシステムを上回ったと報告しています。ベンチマークリポジトリとブログ記事へのリンクがあります。PageIndexはまた、OpenKB、ChatIndex、ConDB、PageIndex MCPを含むオープンソースエコシステムのアンカーとして提示されています。リポジトリはMITライセンスで、著作権は2025年Vectify AIに帰属します。ライセンスは、使用、コピー、変更、結合、公開、配布、サブライセンス、販売の権利を付与し、ソフトウェアは保証なしで現状有姿で提供されると述べています。README自体は、報告されたベンチマーク以外のサポートサービス、セキュリティ保証、本番結果については説明していません。

編集部の結論

長い財務資料や規制文書を章構造付きで検索したいチームには検討対象になります。固定チャンクとベクトルDBを前提にした既存基盤の置換を急ぐ用途には向かず、まず `pip install -U pageindex` 後に `submit_document` と引用付き `chat` の出力を同じPDFで確認するのが先です。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート