PageIndex is a free, open source machine learning infrastructure project written in Python and released under MIT. It has 35,678 GitHub stars, 3,148 forks and 103 open issues, and was last pushed 6 hours ago. On this registry it ranks #7 of 57 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available. It gained 23 stars over the last 3 tracked days.

What is PageIndex?

What it is

PageIndex is a vectorless, reasoning-based retrieval-augmented generation engine written in Python and released under the MIT license. It lives in the AI and machine learning infrastructure ecosystem, with topics spanning RAG, information retrieval, LLM reasoning, context engineering, and agentic AI. Instead of building a vector index, PageIndex generates a hierarchical tree index for each document and then lets a large language model reason its way through that tree, in the same way a human expert turns to the right section of a long report. The project ships as a Python SDK, a hosted cloud service, and a document analysis application, and it is maintained under the PageIndex name with a public website, documentation, and blog.

The concrete problem it addresses is retrieval accuracy on long, complex professional documents. Vector-based RAG retrieves by semantic similarity, and the project argues that similarity is not relevance: similarity search misses material that is relevant but not similar, and returns material that is similar but not relevant. On documents that demand contextual understanding, domain expertise, and multi-step reasoning, that mismatch produces opaque results. PageIndex replaces the vector index with a tree index and replaces similarity search with LLM reasoning over that tree, which makes retrieval traceable to explicit references and allows the full context of a conversation, domain knowledge, and history to inform the query rather than only a query embedding.

Key capabilities

  • Generates a hierarchical tree-structure index for each document, replacing the vector index entirely.
  • Performs retrieval by agentically searching that tree with LLM reasoning rather than by similarity search.
  • Returns results traceable to explicit references instead of opaque similarity matches.
  • Uses full context for retrieval, including conversation history and domain knowledge, not just a query embedding.
  • Operates without a vector database and without chunking.
  • Provides PageIndex Flash, a fast tree index generation method for text-based PDFs that is the default indexing method in SDK local mode.
  • Provides PageIndex File System, a file-level tree indexing layer that lets PageIndex reason over an entire corpus rather than a single document.
  • Exposes tools that can be dropped into the OpenAI Agents SDK, the Claude Agent SDK, or other agent frameworks.

Who

project readme (upstream, from github) β€” read inline
pi_github_banner_low

VectifyAI%2FPageIndex | Trendshift

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

  • [Aug '26] πŸ”₯ PageIndex SDK: pip install -U pageindex now ships local mode: index, retrieve, and chat entirely on your machine with your own LLM key, or point the same client at PageIndex Cloud with an API key.
  • [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

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",               # model to build the tree index
    chat="gpt-5.6-sol",                 # model to search the tree
)
doc_id = client.submit_document("report.pdf")["doc_id"]

answer = client.chat("What was the 2023 operating margin?", doc_id=doc_id)
print(answer)

Model Recommendations

  • index=: a basic model is sufficient. The tree structure itself is extracted from the document layout without an LLM; the index model only summarizes and refines it, which a basic model does well.
  • chat=: use the best model you can afford. The chat model searches the tree to retrieve information. See Query cost and accuracy.

Use PageIndex through the SDK client β†’

Configure other models, streaming, multi-document search, citations, and more.

Integrate PageIndex with your own agent β†’

Drop PageIndex tools into the OpenAI Agents SDK, the Claude Agent SDK, or any other framework.

Benchmarks

Local indexing cost and time

Building a tree locally runs about $0.001 per page with gpt-5.6-luna as the index model, so a 1,000-page textbook costs a little over a dollar and a few minutes, once, and every later question reuses it. PageIndex is designed not to rely heavily on the model used at index time, so in our experiments a basic model does not hurt quality.

Indexing cost against document length, log-log, for nine PDFs from 9 to 1,098 pages. Points track a $0.0011-per-page reference line; the spread around it is text density, not length.

Indexing time also scales predictably with document length. In the same local setup, the benchmark documents (9 to 1,098 pages) finished in roughly 13 seconds to 4.5 minutes.

Indexing time against document length, log-log, for nine PDFs from 9 to 1,098 pages. The measured indexing times range from about 13 seconds to 4.5 minutes and increase predictably with document length.

Query cost and accuracy

PageIndex-OSS-Benchmark measures exactly the setup in the quickstart above (PageIndexClient() in local mode, flash indexing, no OCR) on 62 lookup questions over 34 PDFs (1,945 pages) drawn from MMLongBench-Doc-V2. Every question's answer is a fact stated in running text, so a wrong answer is a retrieval or reading failure, not a reasoning one.

Accuracy against average cost per question. Each model forms a near-vertical reasoning-effort ladder; moving between models costs an order of magnitude a step.

Full results, data, and the runner are in the benchmark repo.

Cost per query vs. native PDF input

The alternative to retrieval is handing the model the whole PDF on every question. That cost grows with the document; PageIndex's does not, because it reads only the nodes its reasoning reaches. On documents where both routes return the same answer, native PDF input costs 2.1Γ— more at 52 pages and 16.6Γ— more at 420 (gpt-5.6-sol, prompt caching excluded) β€” and at 805 pages the document no longer fits in the context window at all.

Cost per query relative to PageIndex retrieval, for five PDFs from 52 to 805 pages. Passing the PDF natively costs 2.1x, 3.4x, 7.8x, and 16.6x more at 52, 85, 198, and 420 pages; at 805 pages it exceeds the model's context window.

Leading accuracy on FinanceBench

PageIndex reached a sta

readme truncated β€” read the full docs on github

Frequently asked questions

Is PageIndex free to use?

PageIndex is open source under the MIT licence. There is no licence fee and no seat count β€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does PageIndex do?

πŸ“‘ PageIndex: Document Index for Vectorless, Reasoning-based RAG

What is PageIndex written in?

PageIndex is primarily written in Python. Its source is publicly available at https://github.com/VectifyAI/PageIndex, and it has 35,678 GitHub stars.