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、画像理解、大規模インデックス作成のための商用クラウドサービスも提供しています。
詳細情報の入手先
- ウェブサイト / ドキュメント – https://pageindex.ai
- SDKドキュメント – https://docs.pageindex.ai
- ブログおよびベンチマーク詳細 – https://pageindex.ai/blog
- GitHubベンチマークリポジトリ – https://github.com/VectifyAI/PageIndex-OSS-Benchmark
PageIndexは、ベクトルや不透明な類似性スコアのオーバーヘッドなしに、人間が読むように巨大で複雑なPDFから情報を取得できるようにします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト