PageIndex
Vectorless · Reasoning-based RAG — 長文ドキュメントを階層ツリーで索引し、推論でたどり着く検索
何を解くか
従来のベクトル RAG は意味的類似度で近いチャンクを返すが、専門文書では「似ていること」と「答えに必要なこと」が一致しないことが多い。PageIndexは、長文 PDF などから目次に相当する階層ツリーを生成し、LLM がその索引の上でツリー探索(推論)して関連セクションへ辿る、ベクトル DB 不要の RAG パイプラインだ。
0Vector DB
0固定チャンク必須
98.7%FinanceBench 例(報告値)
Tree索引の形
オープンソース実装は VectifyAI/PageIndex(GitHub)。チャット UI・API・MCP・Notebook 例などは公式ドキュメントとブログを参照。
2 ステップ
README が示すコアは次の二段だ。
1. ツリー生成
→
ドキュメントの ToC 風・階層構造 JSON
→
2. ツリー探索
→
推論に基づくセクション選択・取得
- 類似度検索ではなく経路探索: 人が章立てを辿るように、LLM がノードの要約や見出しを手がかりに枝を選ぶイメージ。
- 説明可能性: どの節を読んだかが追いやすく、ページ・セクション参照とセットで語れる。
JSON のイメージ
各ノードにはタイトル・ノード ID・ページ範囲・要約・子ノードが載る。長大な規制文書や決算資料など、コンテキスト上限を超える資料向けに設計されている。
{
"title": "Financial Stability",
"node_id": "0006",
"start_index": 21,
"end_index": 22,
"summary": "The Federal Reserve ...",
"nodes": [
{
"title": "Monitoring Financial Vulnerabilities",
"node_id": "0007",
"start_index": 22,
"end_index": 28,
"summary": "The Federal Reserve's monitoring ..."
}
]
}
Markdown 入力:
run_pageindex.py --md_path では見出しの # 階層でノードを切る。PDF から機械変換した MD では階層が崩れやすいので、その場合は PDF からの直接パイプラインやクラウド側の高度な変換を検討する、と README で注意されている。
最短パス
リポジトリ直下で依存を入れ、LiteLLM 対応の API キーを用意してから PDF を渡す。
pip3 install --upgrade -r requirements.txtルートに .env を置き(例):
OPENAI_API_KEY=your_openai_key_herepython3 run_pageindex.py --pdf_path /path/to/your/document.pdf主な CLI オプション(抜粋)
| フラグ | 意味・既定の例 |
|---|---|
--model | 利用 LLM(既定は README 掲載の GPT-4o 系) |
--toc-check-pages | 目次探索に見る先頭ページ数(既定 20) |
--max-pages-per-node | ノードあたり最大ページ数(既定 10) |
--max-tokens-per-node | ノードあたり最大トークン(既定 20000) |
--if-add-node-id | ノード ID を付与するか(yes/no) |
--if-add-node-summary | ノード要約を付与するか(yes/no) |
--md_path | PDF の代わりに Markdown からツリー生成 |
エージェント連携のサンプルとして examples/agentic_vectorless_rag_demo.py(OpenAI Agents SDK)や cookbook/ 配下の Notebook が用意されている。
使い分け
| 形態 | 内容 |
|---|---|
| セルフホスト | この OSS と標準 PDF パース。複雑な PDF は精度に差が出る場合あり。 |
| クラウド | 強化 OCR・ツリー構築・検索パイプライン。API / MCP / チャットから利用。 |
| エンタープライズ | オンプレ・プライベート提供。問い合わせフォーム・デモ予約など公式サイト経由。 |
参照先
- GitHub: VectifyAI/PageIndex — ソース・Issue・ライセンス
- PageIndex フレームワーク紹介(ブログ)
- 公式ドキュメント — Cookbook / Tutorials
- Developer(API / MCP)
- チャットプラットフォーム
- Vectify AI — プロダクトホーム
本ページは上記オープンソース README と公開情報に基づく要約です。ベンチマーク数値や製品仕様は変更されることがあるため、最新は各公式ページを優先してください。