PageIndex:透過LLM樹狀搜尋實現無向量RAG
PageIndex:無向量、基於推理的 RAG 的文檔索引。受 AlphaGo 的啟發,我們提出 **PageIndex**,這是一個 **無向量**、**基於推理的 RAG** 系統,它從長文檔構建 **分層樹索引**,並使用 LLM 來 **推理** *對該索引* 進行 **代理、上下文感知檢索**。
秒懂
- 它是什麼?
- 一個開源 Python 專案,以階層式樹狀索引和 LLM 推理取代向量相似度,用於長文件的檢索。
- 適合誰用?
- PageIndex 是一個可自行託管、MIT 授權的基於推理 RAG 實作。它避免使用向量資料庫和分塊,從 PDF 建立樹狀索引,並用 LLM 導覽該樹。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
無向量、基於推理的檢索
PageIndex 是一個用於檢索增強生成中文件索引的 Python 倉庫。其設計完全放棄向量嵌入和分塊。相反,它從長 PDF 建立階層式樹狀索引,類似於目錄,並讓 LLM 在該索引上推理以找到相關章節。README 表示該方法受 AlphaGo 啟發,試圖模擬人類專家瀏覽複雜文件的方式。
兩步驟流程:樹建立與樹搜尋
README 將檢索描述為兩個步驟。首先,PageIndex 為文件產生目錄式樹狀結構,節點包含標題、ID、頁面範圍、摘要和子節點。其次,它透過樹搜尋執行代理式、基於推理的檢索。輸出基於明確的頁面和章節引用,專案稱之為可追溯且可解釋。此樹狀結構適用於長篇專業文件,如財務報告、法律文件和技術手冊。
與向量 RAG 的對比
PageIndex 列出五項核心特性,使其有別於傳統基於向量的 RAG:無向量資料庫、無分塊、更好的可追溯性與可解釋性、上下文感知檢索,以及類人檢索。README 認為向量搜尋依賴語義相似性而非相關性,而相似性不等於相關性。它定位 PageIndex 使用文件結構和 LLM 推理來檢索依賴完整查詢上下文的結果,包括對話歷史和領域知識。
部署選項與託管服務
該倉庫提供三種部署路徑。自行託管在本地執行開源程式碼,使用標準 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 提供兩條指令:pip3 install openai-agents 和 python3 examples/agentic_vectorless_rag_demo.py。還有最小無向量 RAG 管線和基於視覺的無 OCR 版本筆記本,後者直接作用於頁面影像。這些範例旨在展示自行託管路徑,但 README 未說明執行時期需求或預期輸出品質。
案例研究、生態與授權
README 報告稱,由 PageIndex 提供支援的基於推理 RAG 系統 Mafin 2.5 在 FinanceBench 財務文件 QA 基準上達到 98.7% 的準確率,並優於基於向量的 RAG 系統。它連結到基準儲存庫和部落格文章。PageIndex 也被呈現為開源生態的錨點,該生態包括 OpenKB、ChatIndex、ConDB 和 PageIndex MCP。此儲存庫採用 MIT 授權,版權歸 Vectify AI(2025)所有。授權條款授予使用、複製、修改、合併、發布、散布、再授權和銷售副本的權利,並聲明軟體按原樣提供,不附帶任何擔保。README 本身沒有描述支援服務、安全保證或超出所報告基準的生產結果。
針對 VectifyAI/PageIndex,素材記錄的主要語言是 Python,授權為 MIT。核驗時先對照 README 中的專案名稱、安裝入口與實際命令,再觀察該專案產生的輸出或畫面;這些步驟只用來確認 VectifyAI/PageIndex 已明列的行為,不把未記載的效能、安全性或相容性推成承諾。
在 vectifyai-pageindex-deep-analysis 的判讀中,第 1 個專案檢查點是「PageIndex 的樹狀索引、vectorless RAG、PDF 解析、LLM 推理、查詢上下文與輸出」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vectifyai-pageindex-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。
在 vectifyai-pageindex-deep-analysis 的判讀中,第 2 個專案檢查點是「PageIndex 的樹狀索引、vectorless RAG、PDF 解析、LLM 推理、查詢上下文與輸出」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vectifyai-pageindex-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。
在 vectifyai-pageindex-deep-analysis 的判讀中,第 3 個專案檢查點是「PageIndex 的樹狀索引、vectorless RAG、PDF 解析、LLM 推理、查詢上下文與輸出」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vectifyai-pageindex-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。
在 vectifyai-pageindex-deep-analysis 的判讀中,第 4 個專案檢查點是「PageIndex 的樹狀索引、vectorless RAG、PDF 解析、LLM 推理、查詢上下文與輸出」。測試時只改變一個條件,並留下原始輸入、執行命令、完整日誌與產物名稱。對照 README 的實際範例,檢查流程是否真的進入指定模組,輸出格式、檔案位置、畫面狀態或查詢答案是否符合該專案的描述。若出現錯誤,先記錄錯誤文字和觸發條件,再分辨依賴、權限、作業系統、硬體或資料本身的影響。素材未說明的效能、版本相容性、資料安全與復原能力,不在本文中延伸承諾。這種記錄方式能讓 vectifyai-pageindex-deep-analysis 的功能判斷連回具體檔案與命令,也能避免把其他工具的經驗誤套到本專案。
編輯結論
PageIndex 是一個可自行託管、MIT 授權的基於推理 RAG 實作。它避免使用向量資料庫和分塊,從 PDF 建立樹狀索引,並用 LLM 導覽該樹。README 報告透過 Mafin 2.5 在 FinanceBench 上達到 98.7% 的準確率,並指向更廣泛的相關專案生態。 VectifyAI/PageIndex 適合需要 README 已列功能且能符合其環境條件的使用者,不適合把未記錄行為當成既定保證的場景。先依 README 的專案專屬命令或檔案入口核對安裝結果,再決定是否納入正式流程。
社群筆記