2026-10-11 16:37 UTC

VectifyAI claims its released PageIndex — a pip-installable hierarchical document tree that an LLM navigates by reasoning instead of embedding similarity, runnable fully locally with your own key — is a working vectorless alternative to vector-database RAG on long professional documents; adoption in real retrieval workflows or independent measurement of its self-reported cost and accuracy claims (98.7% FinanceBench is their own benchmark) resolves whether vectorless retrieval becomes a practical option.

state: seedheat: lowuncertainty: mediumconvergesscott: highrag retrieval-architecture local-inferenceVectifyAIMingtian ZhangYu Tang

What is this?

PageIndex is an open-source (MIT) 'vectorless' RAG framework from VectifyAI, founded by Mingtian Zhang (UCL alumnus) with Yu Tang: instead of chunking and embedding similarity, it builds a hierarchical tree index of a document (a 'smart ToC') and lets an LLM reason down the tree to the pages that answer a query; it is pip-installable and self-hostable with your own model key, with a cloud/MCP option alongside. Its headline numbers are first-party — 98.7% on FinanceBench via their Mafin 2.5 agent (vs ~30–50% reported for vector RAG, stable across GPT-4o and DeepSeek v3, eval code and results public) — but the MCTS the docs reference is not in the open-source code, and at least one independent test with published benchmark code argues the approach degrades badly beyond single-document retrieval, pointing to hybrid vector+tree designs rather than a vector-DB replacement. Adoption is real but hype-tinged (~23k–29k GitHub stars, with secondary sources also conflicting on release dates), cost claims of 1× vs 16× per query versus whole-document LLM input are self-reported, and the team has begun extending the tree-index idea to long conversation histories with a separate repo, ChatIndex.

Why it matters to Scott

VectifyAI's 'similarity ≠ relevance' tree-walking retrieval independently ships the core argument of Scott's Walk-a-Wiki ebook — named-structure navigation beating blind query formulation against embedding space — and mirrors his own vectorless llm-navigated-wiki dev concept, a dated-receipts convergence from a consequential party with real adoption. The independent benchmark finding that it degrades beyond single-document retrieval bears directly on his RAG/Wiki Substrate Rule (recall-shaped corpora keep similarity; hybrid stratification, never migration), and the 98.7% FinanceBench headline is a seller-result model-plus-harness claim — their own Mafin 2.5 agent, with the docs' MCTS absent from the open code — that his evidence-class instrument prices as unverified.
ip:source.walk-a-wiki-cant-drive-a-rag-ebookdev:concept.llm-navigated-wikiip:framework.rag-wiki-substrate-ruleip:concept.semantic-closureip:concept.model-plus-harness-benchmark-unitdev:project.cloudconsultantradar:concept.ragradar:concept.retrievalradar:concept.rag-knowledge-systemsradar:concept.vector-searchradar:concept.local-ragradar:knowhere-2-document-memoryradar:manticore-native-document-chunkingradar:concept.benchmark-integrity
queries asked of Scott's wikis
  • vector RAG chunking failure modes similarity vs relevance
  • agentic retrieval reasoning-based search vs embedding search
  • hierarchical document tree index long-document QA
  • agent memory long conversation history retrieval compression
  • local inference RAG cost per query token economics
  • vendor self-reported benchmark claims independent evaluation

Measured heat

now 0 pts/hpeak 3 pts/hcomments 0/hpeers p14momentum: steady2 platformsage 248h
points/hour across evidence · reading as of 2026-10-12 02:59:37.977291+11:00 · deterministic, not a model opinion

How the heat travelled

10-01 08:24 (minted)⭐ origin echo-reconstructedVectifyAI's own repo and blog claim: 'similarity ≠ relevance' — PageIndex replaces the vector index and chunking with a tree-structured docu
VectifyAI on github (echo) · attributed from hn.story.49918836 · published time unknown
—
10-01 07:36first on hacker news · published · lag ?Show HN: Vectorless, Reasoning-Based RAG
nvmdbljstm
—
10-01 07:36amplified on hacker news 👑hn.story.49918836
nvmdbljstm
peak 8 · 0 comments · 100% of case engagement
10-01 08:20our radar first saw it · lag ?discovery anchor: hn.story.49918836—
pace: p44 vs 1188 stories at the 168h mark (now 248h old) — ahead of acs-local-skill-risk-catalog (1.1x), behind anthropic-ci-test-selection-redesign (0.9x)

Evidence (2) — ⭐ canonical anchor

sourceobjectauthorscorecomments
🟧 hnShow HN: Vectorless, Reasoning-Based RAG
Retrieved article excerpt

Open article · Retrieved 2026-10-01T08:23:15.913221+00:00

[pi\_github\_banner\_low](https://vectify.ai/pageindex)
  
  

[VectifyAI%2FPageIndex | Trendshift](https://trendshift.io/repositories/14736)

# PageIndex: Vectorless, Reasoning-based RAG

**Reasoning-based RAG  ◦  No Vector DB, No Chunking  ◦  Context-Aware Retrieval  ◦  Reads Like a Human**

#### [🌐 Website](https://pageindex.ai/developer)  •   [☁️ Cloud](https://developer.pageindex.ai/)  •   [📖 Docs](https://docs.pageindex.ai)  •   [📝 Blog](https://pageindex.ai/blog)  •   [✉️ Contact](https://pageindex.ai/contact)

## Updates

- [Aug '26] 🔥 [**PageIndex SDK**](https://github.com/VectifyAI/PageIndex#quickstart): `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**](https://pageindex.ai/blog/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](https://pageindex.ai/blog/pageindex-filesystem): *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](https://app.pageindex.ai): 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](https://vectify.ai/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](https://github.com/VectifyAI/PageIndex#query-cost-and-accuracy).

### [Use PageIndex through the SDK client →](https://docs.pageindex.ai/getting-started)

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

### [Integrate PageIndex with your own agent →](https://docs.pageindex.ai/sdk/agents)

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**](https://github.com/VectifyAI/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](https://github.com/VectifyAI/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](https://github.com/VectifyAI/PageIndex-OSS-Benchmark).

### 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 state-of-the-art [**98.7% accuracy**](https://vectify.ai/blog/Mafin2.5) on [FinanceBench](https://arxiv.org/abs/2311.11944) (financial document QA benchmark), vastly outperforming vector-based RAG.

[FinanceBench accuracy: PageIndex 98.7%, vector RAG 50%.](https://github.com/VectifyAI/Mafin2.5-FinanceBench)

Explore the full FinanceBench [evaluation results](https://github.com/VectifyAI/Mafin2.5-FinanceBench) and the [blog post](https://vectify.ai/blog/Mafin2.5).

# PageIndex Cloud

The open-source version is ideal for text-heavy PDFs and local workflows. With **PageIndex Cloud, document indexing and storage run in the cloud**: PageIndex handles parsing, OCR, image understanding, tree-index construction, and managed storage for you. The chat and retrieval layer remains **compatible with your model**, so you can search the cloud-hosted index using the model provider your application already uses.

Moving indexing and storage from Local to Cloud only requires a [PageIndex API key](https://developer.pageindex.ai/):

```
import os
from pageindex import PageIndexClient

os.environ["PAGEINDEX_API_KEY"] = "your-pageindex-key"
os.environ["OPENAI_API_KEY"] = "your-openai-key"

client = PageIndexClient(
    index="cloud",                       # build and store the index in PageIndex Cloud
    chat="gpt-5.6-sol",                  # use your preferred compatible model for chat
)
doc_id = client.submit_document("report.pdf", wait=True)["doc_id"]
print(client.chat("What was the 2023 operating margin?", doc_id=doc_id))
```

|  | **Local** | **Cloud** |
| --- | --- | --- |
| Handles | Text-based PDFs | Text-based, scanned, and image-rich documents |
| Indexing | On your machine | Managed by PageIndex |
| Storage | Local directory | Cloud storage |
| Citations | Page-level | Block-level |
| OCR & image understanding | — | ✓ |
| [Metadata](https://docs.pageindex.ai/sdk/documents#metadata-cloud) | — | ✓ |
| [Folders](https://docs.pageindex.ai/sdk/documents#folders-cloud) | — | ✓ |
| [MCP server](https://docs.pageindex.ai/mcp) | — | ✓ |

### More About PageIndex Cloud

- [Scale PageIndex to Millions of Documents](https://pageindex.ai/blog/pageindex-filesystem): **PageIndex File System** is a Cloud-only, file-level tree indexing layer that lets PageIndex reason over an entire corpus, not just a single document.

### Ready to Try It?

- Get a [PageIndex API key](https://developer.pageindex.ai/)
- Read the [PageIndex Cloud documentation](https://docs.pageindex.ai/)

For dedicated deployment (VPC or on-premises), [contact us](https://pageindex.ai/contact) or [book a demo](https://calendly.com/pageindex/meet).

---

# ⭐ Support Us

Leave us a star 🌟 if you like our project. Thank you!

Please cite this work as:

```
Mingtian Zhang, Yu Tang and PageIndex Team,
"PageIndex: Next-Generation Vectorless, Reasoning-based RAG",
PageIndex Blog, Sep 2025.
```

Or use the BibTeX citation.

```
@article{zhang2025pageindex,
  author = {Mingtian Zhang and Yu Tang and PageIndex Team},
  title = {PageIndex: Next-Generation Vectorless, Reasoning-based RAG},
  journal = {PageIndex Blog},
  year = {2025},
  month = {September},
  note = {https://pageindex.ai/blog/pageindex-intro},
}
```



---

© 2026 [PageIndex AI](https://pageindex.ai)

[pageindex-wordmark-animated-288-warm](https://private-user-images.githubusercontent.com/13518252/647449109-e1c677f2-b590-4ffc-859d-e8cc7d794bdf.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTA4NDMyOTUsIm5iZiI6MTc5MDg0Mjk5NSwicGF0aCI6Ii8xMzUxODI1Mi82NDc0NDkxMDktZTFjNjc3ZjItYjU5MC00ZmZjLTg1OWQtZThjYzdkNzk0YmRmLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjEwMDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYxMDAxVDA4MjMxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUxNmRiMDczMTZiYTZiYmI1ODMwNjg1OWRkNDBiYTllOThjMjI1NGJiMzZkZTk2YzVjZjZkYTRhM2RhZGU5OTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.xJHv_dS_Dl53e1IqbIM1rx-cXiz22giGXadD0SAhAbc)
nvmdbljstm80
🟧 echo.github ⭐VectifyAI's own repo and blog claim: 'similarity ≠ relevance' — PageIndex replaces the vector index and chunking with a tree-structured docuVectifyAI——

Interpretation history

Decision trace