Agents et multi-agents

PageIndex: Vectorless, Reasoning-Based RAG for Long Documents

vectifyai/pageindex

PageIndex is a Python project for creating hierarchical document indexes and performing reasoning-based retrieval without a vector database or artificial chunking. It supports self-hosted processing of PDF and Markdown documents, with optional agentic RAG examples and hosted MCP/API services.

★ 35KÉtoiles
⑂ 3,1KForks
143Problèmes ouverts
PythonLangue
MITLicence
Q@project.QualityScoreScore éditorial

Vue d’ensemble

PageIndex converts long documents into a semantic tree resembling a table of contents, with sections, page ranges, summaries, and optional node identifiers. An LLM or agent can search this structure to identify relevant sections using document context rather than vector similarity. The repository reports 34,965 stars, 3,064 forks, and 143 open issues; it is active rather than archived.

Fonctionnalités clés

  • Vectorless retrieval based on document structure and LLM reasoning
  • Hierarchical tree indexes with section and page references
  • Natural-section organization without artificial chunking
  • Context-aware, reasoning-driven tree search
  • Optional node identifiers, summaries, and document descriptions
  • PDF and Markdown input support
  • Preview PageIndex Flash mode for heuristic PDF structure extraction
  • Self-hosted agentic RAG example using the OpenAI Agents SDK
  • Vision-based vectorless RAG notebook
  • Hosted chat, MCP, API, and enterprise deployment options

Prérequis, installation et démarrage rapide

From the repository root, install the declared dependencies with `pip3 install --upgrade -r requirements.txt`. Create a `.env` file containing an LLM provider key; the documented example is `OPENAI_API_KEY=your_openai_key_here`. For the optional agentic example, install `openai-agents` with `pip3 install openai-agents`.

Utilisation

Quick start for a PDF: `python3 run_pageindex.py --pdf_path /path/to/your/document.pdf`. For Markdown: `python3 run_pageindex.py --md_path /path/to/your/document.md`. Flash preview mode: `python3 run_pageindex.py --flash --pdf_path /path/to/your/document.pdf`; add `--optimize` for an LLM expansion pass. Run the agentic example with `python3 examples/agentic_vectorless_rag_demo.py`. Optional settings cover the model, table-of-contents scan pages, maximum pages or tokens per node, node IDs, node summaries, and document descriptions.

Compatibilité des modèles et cas d’usage

Multiple LLM providers are supported through LiteLLM. The documented default model is `gpt-4o-2024-11-20`, and the setup example uses an OpenAI API key. The agentic demo uses the OpenAI Agents SDK. A complete list of tested or supported models is not stated in the repository metadata.

Licence et notes sur les risques

The repository metadata identifies the license as MIT. License reference: https://api.github.com/licenses/mit. No additional license exceptions or dependency-license details are stated in the supplied repository record.

Publication et maintenance

The README highlights an agentic vectorless RAG example using self-hosted PageIndex and the OpenAI Agents SDK, PageIndex File System for corpus-level indexing, PageIndex Chat, MCP/API access, and PageIndex Flash as a preview feature. Formal tagged release names, versions, and release dates are not stated in the repository metadata.

Firecrawl

firecrawl/firecrawl

★ 161,1KTypeScript

LangChain

langchain-ai/langchain

★ 143,6KPython

RAGFlow

infiniflow/ragflow

★ 86,7KGo