Back to Pageindex

PageIndex: Vectorless, Reasoning-based RAG

README.md

latest14.3 KB
Original Source
<div align="center"> <a href="https://vectify.ai/pageindex" target="_blank"> </a> <p align="center"> <a href="https://trendshift.io/repositories/14736" target="_blank"></a> </p>

PageIndex: Vectorless, Reasoning-based RAG

<p align="center"><b>Reasoning-based RAG&nbsp; β—¦ &nbsp;No Vector DB&nbsp; β—¦ &nbsp;No Chunking&nbsp; β—¦ &nbsp;Human-like Retrieval</b></p> <h4 align="center"> <a href="https://vectify.ai">🏠 Homepage</a>&nbsp; β€’ &nbsp; <a href="https://chat.pageindex.ai">πŸ–₯️ Chat Platform</a>&nbsp; β€’ &nbsp; <a href="https://pageindex.ai/mcp">πŸ”Œ MCP</a>&nbsp; β€’ &nbsp; <a href="https://docs.pageindex.ai">πŸ“š Docs</a>&nbsp; β€’ &nbsp; <a href="https://discord.com/invite/VuXuf29EUj">πŸ’¬ Discord</a>&nbsp; β€’ &nbsp; <a href="https://ii2abc2jejf.typeform.com/to/tK3AXl8T">βœ‰οΈ Contact</a>&nbsp; </h4> </div> <details open> <summary><h3>πŸ“’ Latest Updates</h3></summary>

πŸ”₯ Releases:

  • PageIndex Chat: The first human-like document-analysis agent platform built for professional long documents. Can also be integrated via MCP or API (beta).
<!-- - [**PageIndex Chat API**](https://docs.pageindex.ai/quickstart): An API that brings PageIndex's advanced long-document intelligence directly into your applications and workflows. --> <!-- - [PageIndex MCP](https://pageindex.ai/mcp): Bring PageIndex into Claude, Cursor, or any MCP-enabled agent. Chat with long PDFs in a reasoning-based, human-like way. -->

πŸ“ Articles:

  • PageIndex Framework: Introduces the PageIndex framework β€” an agentic, in-context tree index that enables LLMs to perform reasoning-based, human-like retrieval over long documents, without vector DB or chunking.
<!-- - [Do We Still Need OCR?](https://pageindex.ai/blog/do-we-need-ocr): Explores how vision-based, reasoning-native RAG challenges the traditional OCR pipeline, and why the future of document AI might be *vectorless* and *vision-based*. -->

πŸ§ͺ Cookbooks:

  • Vectorless RAG: A minimal, hands-on example of reasoning-based RAG using PageIndex. No vectors, no chunking, and human-like retrieval.
  • Vision-based Vectorless RAG: OCR-free, vision-only RAG with PageIndex's reasoning-native retrieval workflow that works directly over PDF page images.
</details>

πŸ“‘ Introduction to PageIndex

Are you frustrated with vector database retrieval accuracy for long professional documents? Traditional vector-based RAG relies on semantic similarity rather than true relevance. But similarity β‰  relevance β€” what we truly need in retrieval is relevance, and that requires reasoning. When working with professional documents that demand domain expertise and multi-step reasoning, similarity search often falls short.

Inspired by AlphaGo, we propose PageIndex β€” a vectorless, reasoning-based RAG system that builds a hierarchical tree index from long documents and uses LLMs to reason over that index for agentic, context-aware retrieval. It simulates how human experts navigate and extract knowledge from complex documents through tree search, enabling LLMs to think and reason their way to the most relevant document sections. PageIndex performs retrieval in two steps:

  1. Generate a β€œTable-of-Contents” tree structure index of documents
  2. Perform reasoning-based retrieval through tree search
<div align="center"> <a href="https://pageindex.ai/blog/pageindex-intro" target="_blank" title="The PageIndex Framework"> </a> </div>

🎯 Core Features

Compared to traditional vector-based RAG, PageIndex features:

  • No Vector DB: Uses document structure and LLM reasoning for retrieval, instead of vector similarity search.
  • No Chunking: Documents are organized into natural sections, not artificial chunks.
  • Human-like Retrieval: Simulates how human experts navigate and extract knowledge from complex documents.
  • Better Explainability and Traceability: Retrieval is based on reasoning β€” traceable and interpretable, with page and section references. No more opaque, approximate vector search (β€œvibe retrieval”).

PageIndex powers a reasoning-based RAG system that achieved state-of-the-art 98.7% accuracy on FinanceBench, demonstrating superior performance over vector-based RAG solutions in professional document analysis (see our blog post for details).

πŸ“ Explore PageIndex

To learn more, please see a detailed introduction of the PageIndex framework. Check out this GitHub repo for open-source code, and the cookbooks, tutorials, and blog for additional usage guides and examples.

The PageIndex service is available as a ChatGPT-style chat platform, or can be integrated via MCP or API.

πŸ› οΈ Deployment Options

  • Self-host β€” run locally with this open-source repo.
  • Cloud Service β€” try instantly with our Chat Platform, or integrate with MCP or API.
  • Enterprise β€” private or on-prem deployment. Contact us or book a demo for more details.

πŸ§ͺ Quick Hands-on

  • Try the Vectorless RAG notebook β€” a minimal, hands-on example of reasoning-based RAG using PageIndex.
  • Experiment with Vision-based Vectorless RAG β€” no OCR; a minimal, reasoning-native RAG pipeline that works directly over page images.
<div align="center"> <a href="https://colab.research.google.com/github/VectifyAI/PageIndex/blob/main/cookbook/pageindex_RAG_simple.ipynb" target="_blank" rel="noopener"> </a> &nbsp;&nbsp; <a href="https://colab.research.google.com/github/VectifyAI/PageIndex/blob/main/cookbook/vision_RAG_pageindex.ipynb" target="_blank" rel="noopener"> </a> </div>

🌲 PageIndex Tree Structure

PageIndex can transform lengthy PDF documents into a semantic tree structure, similar to a "table of contents" but optimized for use with Large Language Models (LLMs). It's ideal for: financial reports, regulatory filings, academic textbooks, legal or technical manuals, and any document that exceeds LLM context limits.

Below is an example PageIndex tree structure. Also see more example documents and generated tree structures.

jsonc
...
{
  "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 ..."
    },
    {
      "title": "Domestic and International Cooperation and Coordination",
      "node_id": "0008",
      "start_index": 28,
      "end_index": 31,
      "summary": "In 2023, the Federal Reserve collaborated ..."
    }
  ]
}
...

You can generate the PageIndex tree structure with this open-source repo, or use our API


βš™οΈ Package Usage

You can follow these steps to generate a PageIndex tree from a PDF document.

1. Install dependencies

bash
pip3 install --upgrade -r requirements.txt

2. Set your OpenAI API key

Create a .env file in the root directory and add your API key:

bash
CHATGPT_API_KEY=your_openai_key_here

3. Run PageIndex on your PDF

bash
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
<details> <summary><strong>Optional parameters</strong></summary>

You can customize the processing with additional optional arguments:

--model                 OpenAI model to use (default: gpt-4o-2024-11-20)
--toc-check-pages       Pages to check for table of contents (default: 20)
--max-pages-per-node    Max pages per node (default: 10)
--max-tokens-per-node   Max tokens per node (default: 20000)
--if-add-node-id        Add node ID (yes/no, default: yes)
--if-add-node-summary   Add node summary (yes/no, default: yes)
--if-add-doc-description Add doc description (yes/no, default: yes)
</details> <details> <summary><strong>Markdown support</strong></summary>

We also provide markdown support for PageIndex. You can use the -md_path flag to generate a tree structure for a markdown file.

bash
python3 run_pageindex.py --md_path /path/to/your/document.md

Note: in this function, we use "#" to determine node heading and their levels. For example, "##" is level 2, "###" is level 3, etc. Make sure your markdown file is formatted correctly. If your Markdown file was converted from a PDF or HTML, we don't recommend using this function, since most existing conversion tools cannot preserve the original hierarchy. Instead, use our PageIndex OCR, which is designed to preserve the original hierarchy, to convert the PDF to a markdown file and then use this function.

</details> <!-- # ☁️ Improved Tree Generation with PageIndex OCR This repo is designed for generating PageIndex tree structure for simple PDFs, but many real-world use cases involve complex PDFs that are hard to parse by classic Python tools. However, extracting high-quality text from PDF documents remains a non-trivial challenge. Most OCR tools only extract page-level content, losing the broader document context and hierarchy. To address this, we introduced PageIndex OCR β€” the first long-context OCR model designed to preserve the global structure of documents. PageIndex OCR significantly outperforms other leading OCR tools, such as those from Mistral and Contextual AI, in recognizing true hierarchy and semantic relationships across document pages. - Experience next-level OCR quality with PageIndex OCR at our [Dashboard](https://dash.pageindex.ai/). - Integrate PageIndex OCR seamlessly into your stack via our [API](https://docs.pageindex.ai/quickstart). <p align="center"> </p> -->

πŸ“ˆ Case Study: PageIndex Leads Finance QA Benchmark

Mafin 2.5 is a reasoning-based RAG system for financial document analysis, powered by PageIndex. It achieved a state-of-the-art 98.7% accuracy on the FinanceBench benchmark, significantly outperforming traditional vector-based RAG systems.

PageIndex's hierarchical indexing and reasoning-driven retrieval enable precise navigation and extraction of relevant context from complex financial reports, such as SEC filings and earnings disclosures.

Explore the full benchmark results and our blog post for detailed comparisons and performance metrics.

<div align="center"> <a href="https://github.com/VectifyAI/Mafin2.5-FinanceBench"> </a> </div>

🧭 Resources

  • πŸ§ͺ Cookbooks: hands-on, runnable examples and advanced use cases.
  • πŸ“– Tutorials: practical guides and strategies, including Document Search and Tree Search.
  • πŸ“ Blog: technical articles, research insights, and product updates.
  • πŸ”Œ MCP setup & API docs: integration details and configuration options.

⭐ Support Us

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},
}

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

<p> </p>

Connect with Us

Β  Β  Β 


Β© 2025 Vectify AI