VectifyAI/PageIndex

📑 PageIndex: Document Index for Vectorless, Reasoning-based RAG

PageIndex – ベクトル不要、推論ベースの検索拡張生成

何であるか – PageIndex は、従来のベクトルストア + チャンキングパイプラインに代わる 階層的ツリーインデックス をドキュメントのレイアウトから構築するオープンソースのRAGエンジンです。クエリ時にLLMがツリーをたどり、自身の推論(および完全な会話コンテキスト)を使用して最も関連するセクションを特定します。その結果、ベクトルデータベースを一切使用せずに、追跡可能で説明可能かつコンテキストに応じた 検索ステップが実現されます。


主なアイデア

コンセプト PageIndexの実装方法
インデックス作成 PDF(またはその他のテキスト主体のドキュメント)を、ドキュメントの論理構造(章、セクション、見出し)を反映するツリーに解析します。軽量なLLMモデル(index=)が各ノードを要約します。ツリー自体は埋め込みではなく、レイアウトから導出されます。
検索 質問が投げられた際、chatモデル(chat=)がツリー上で推論を行い、人間の読者のように段階的にノードを選択します。モデルは完全な会話履歴、ドメイン知識、および外部コンテキストを視認できるため、類似性ではなく推論に基づいて関連性が判断されます。
ベクトルなし / チャンキングなし インデックスが決定論的なツリーであるため、ベクトルDB、類似性検索、固定サイズのチャンクは不要です。
説明可能性 モデルがツリーをたどる経路が可視化され、明確な引用(ローカルではページレベル、クラウドでは行レベル)が可能になります。

クイックスタート(ローカルモード)

pip install -U pageindex
import os
from pageindex import PageIndexClient

os.environ["OPENAI_API_KEY"] = "your-openai-key"

client = PageIndexClient(
    index="gpt-5.6-luna",   # ツリー構築用の安価なモデル
    chat="gpt-5.6-sol",    # 推論検索を行うモデル
)

# PDFをアップロードし、ドキュメント識別子を取得
doc_id = client.submit_document("report.pdf")['doc_id']

# 質問を投げる – クライアントが自動でツリーをたどります
answer = client.chat("2023年の営業マージンは?", doc_id=doc_id)
print(answer)

同じSDKは index="cloud" を設定し、PAGEINDEX_API_KEY を提供することで PageIndex Cloud に対応します。

主な機能

  • ドキュメントの論理階層を反映する ツリー基盤のインデックス
  • LLM駆動の検索:モデルが次の探索ノードを決定し、複数ステップの推論を可能にします。
  • ローカルおよびクラウドモード – ローカルでパイプラインを実行するか、PageIndexのマネージドサービスにOCR、画像理解、大規模コアスを任せる(ファイルシステムレイヤー)。
  • コスト効率性:インデックス作成コストは ≈ $0.001/ページ。訪問されたノードのみがモデルに送られるため、ドキュメント長に関係なくクエリコストは一定です。
  • 追跡可能な引用 – すべての回答は正確なページ(ローカル)または行(クラウド)に紐づけられます。
  • ストリーミング、複数ドキュメント検索、OpenAI/Claudeエージェントフレームワーク用の完成済みツールを備えた即時接続SDK。

ベンチマークとパフォーマンス(READMEに記載)

  • インデックス作成 – $0.001/ページ、9~1,098ページのPDFで13秒~4.5分。
  • クエリコスト – 52ページではモデルに全PDFを入力する場合の2.1倍安価、420ページでは16.6倍安価。800ページを超えると全PDFアプローチはコンテキストウィンドウを超えます。
  • 精度 – FinanceBench QAベンチマークで PageIndex は 98.7% の精度を達成。ベクトルベースRAGの一般的な~50%を大きく上回ります。
  • OSSベンチマーク – 併設の PageIndex-OSS-Benchmark リポジトリでは、34PDF(1,945ページ)で62の検索質問を評価し、モデルサイズと1クエリあたりのコストの明確なトレードオフ曲線を示しています。

一般的な利用例

  • 財務報告、規制提出書類、法的契約 – 領域知識と複数ステップの推論に依存する関連性が必要な文書。
  • 技術マニュアルおよび医学文献 – 長大で構造化されたドキュメントで、正確な引用が求められるケース。
  • 企業知識ベース – ベクトルDBの管理なしに説明可能な検索が必要な場合。

ライセンスと貢献

リポジトリはオープンソースです(READMEに特定のライセンスは記載されていないため、リポジトリ内の LICENSE ファイルを確認してください)。プルリクエストによる貢献を歓迎します。また、OCR、画像理解、大規模インデックス作成のための商用クラウドサービスも提供しています。

詳細情報の入手先


PageIndexは、ベクトルや不透明な類似性スコアのオーバーヘッドなしに、人間が読むように巨大で複雑なPDFから情報を取得できるようにします。

関連

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