40,330
stars
+61+373
3,472
forks
152
watchers
484
prs
153
issues
32
releases
15
discussions
README
PageIndex: Vectorless, Reasoning-based RAG
Reasoning-based RAG ◦ No Vector DB, No Chunking ◦ Context-Aware Retrieval ◦ Reads Like a Human
🌐 Website •
☁️ Cloud •
📖 Docs •
📝 Blog •
✉️ Contact
Updates
- [Oct '26] 🔥 Page Search API: find the pages that answer each question in about a second, and send your LLM only those. Cut 97% token cost on document question answering; more accurate and faster than vector search (benchmark).
- [Aug '26] PageIndex SDK: local and cloud modes — one client to index, retrieve, and chat on your machine (with your own LLM API key) or on PageIndex Cloud.
- [Aug '26] ⚡ PageIndex Flash: fast tree index generation for text-based PDFs, now the default indexing method in PageIndex SDK local mode.
- Scale PageIndex to Millions of Documents: PageIndex File System is a file-level tree indexing layer that lets PageIndex reason over an entire corpus, not just a single document.
- PageIndex App: a human-like document analysis agent for long professional documents.
What is PageIndex?
Are you frustrated with vector database retrieval accuracy for long and complex documents? Vector-based RAG retrieves by semantic similarity. But similarity ≠ relevance — what retrieval actually needs is relevance, and relevance requires reasoning. On professional documents that demand contextual understanding, domain expertise, and multi-step reasoning, similarity search misses what is relevant but not similar, and returns what is similar but not relevant.
Inspired by AlphaGo, PageIndex replaces the vector index with a hierarchical tree index and lets an LLM reason its way through it, the way a human expert turns to and reads the right section of a long report. Retrieval happens in two steps:
1. Index: generate a tree-structure index for each document
2. Retrieve: agentically search that tree with LLM reasoning
TL;DR
PageIndex is a vectorless, reasoning-based RAG engine that mirrors how humans read, delivering traceable, explainable, and context-aware retrieval, with no vector DBs or chunking.
Compare with Vector RAG
| | Vector RAG | PageIndex |
|---|---|---|
| Index | vector index | tree index |
| Retrieval | semantic similarity search | LLM reasoning over the tree |
| Result | opaque, “vibe retrieval” | traceable to explicit references |
| Context | query embedding only | full context: conversation history, domain knowledge, etc. |
It is ideal for financial reports, legal documents, regulatory filings, technical manuals, medical literature, academic textbooks, and any other long, complex professional document.
Quickstart
bash
pip install -U pageindex
python
import os
from pageindex import PageIndexClient
os.environ["OPENAI_API_KEY"] = "your-openai-key"
client = PageIndexClient(
index="gpt-6-luna", model to build the tree index
chat="gpt-6-sol", model toTop issues
#316Feature Request: Incremental Index Updates for Large Documents8 comments · 2026-06-04#557Expose per-call chat usage and measurement completeness across protocols4 comments · 2026-10-09#330Bug: `get_leaf_nodes` raises KeyError on leaf nodes due to missing `nodes` key3 comments · 2026-06-16#169Using TOON to replace json3 comments · 2026-03-16#99Introduce Pydantic validation for LLM JSON outputs in page_index.py3 comments · 2026-02-04#540[Feature] Standalone local MCP server so Claude Desktop / Cursor / any MCP client can use a local library2 comments · 2026-10-01#175Hello everyone, I have some questions regarding Hybrid Tree Search and would appreciate your insights.2 comments · 2026-03-24#153Unsupported operand type(s) for +: 'int' and 'NoneType'2 comments · 2026-03-07
Discussions
#231utils.py 缺少 import re1 comments · 2026-04-15#185Question2 comments · 2026-03-27#171Clarification on Metadata, Semantics, Description, Storage & Tree-Based Retrieval in PageIndex2 comments · 2026-03-18#162Image URL / Base64 not returned in Chat API response1 comments · 2026-03-13#159Based on pageIndex, I have built a complete RAG question-answering system with similar performance, supplemented the missing reasoning module, and enabled interaction via a web UI.1 comments · 2026-03-12#127High Performance Version Experiment0 comments · 2026-03-01#111Can I only connect with an OpenAI API key, or any key that follows the OpenAI-compatible standard?2 comments · 2026-02-16#94Chat UI answers section-specific questions correctly, but Chat API ignores indexed nodes and falls back to generic assistant1 comments · 2026-01-29
Latest release
PageIndex 0.5.3 — Lower Cost, Higher Accuracy than Vector RAG v0.5.3 2026-11-05- Cheaper than vector RAG: for both index and query.
- Faster: trees are created from layout stats.
- Unified SDK: vectorless RAG. Local or cloud, for index and chat.
- Runs on your Claude subscription.
Index, to chat, to agent integration, one client.
Local mode needs no server, no vector DB, no PageIndex API key.
python
client = PageIndexClient()
client.submit_document("report.pdf")
client.chat("What does the report conclude?")
Highlights
- Flash engine: the local default (mode="standard" keeps the classic LLM pipeline). Embedded bookmarks are consumed when trustworthy, and tree optimi相关报道 (5)
News & coverage (10)
Hacker NewsShow HN: PageIndex – Vectorless RAG▲ 192 · 128 comments · 2025-08-27Hacker NewsShow HN: A Vectorless LLM-Native Document Index Method▲ 14 · 3 comments · 2025-10-05Hacker NewsShow HN: Human-like RAG — no vectors▲ 11 · 0 comments · 2025-08-25Hacker NewsShow HN: RAG, No Vectors▲ 11 · 1 comments · 2025-04-11Hacker NewsShow HN: Vectorless, Reasoning-Based RAG▲ 8 · 0 comments · 2026-10-01Hacker NewsShow HN: Vision-Based, Vectorless RAG for Long Douments▲ 6 · 0 comments · 2025-10-31Hacker NewsShow HN: In-Context Index for In-Context Retrieval▲ 5 · 0 comments · 2025-10-09Hacker NewsShow HN: An MCP that allows you break LLM's context limit▲ 5 · 0 comments · 2025-09-22note[Introduction] How to use PageIndex. A 3-step guide to querying long PDFs using an OSS that reads tables of contents instead of vectors2026-10-15xPageIndex Challenges Vector Databases in RAG with Tree-Based Retrieval2026-05-05