RAG без векторов: что такое PageIndex

PageIndex — это open-source, vectorless, reasoning-based RAG-фреймворк (система поиска с генерацией, основанная на логическом выводе, а не на векторном сходстве), созданный командой VectifyAI. Проект предлагает радикальный пересмотр того, как ИИ ищет информацию в длинных документах: авторы не стали искать лучшую модель эмбеддингов — они отказались от эмбеддингов вовсе. Результат — state-of-the-art точность 98.7% на FinanceBench (бенчмарк по вопросно-ответным задачам на финансовых документах), что кардинально превосходит векторные RAG-решения.

ℹ Что такое FinanceBench
FinanceBench — это бенчмарк для оценки LLM на задачах финансового QA (вопросы и ответы) в открытом формате. Он включает вопросы о публичных компаниях с соответствующими ответами и доказательными строками. Бенчмарк охватывает 10 231 вопрос о публично торгуемых компаниях и выявил, что GPT-4-Turbo с retrieval неправильно отвечал или отказывался отвечать на 81% вопросов.

Почему similarity ≠ relevance

Классический RAG-пайплайн режет документ на куски (chunks), превращает их в векторы и ищет наиболее «похожие» на запрос фрагменты. Проблема в том, что векторный поиск ищет по схожести. Вам нужна релевантность. Это не одно и то же.

Вместо нарезки документов на произвольные, лишённые контекста куски PageIndex организует PDF в семантическую древовидную структуру (интеллектуальное оглавление). Это сохраняет критически важные связи между заголовками, вложенными таблицами и сносками, которые традиционный RAG зачастую разрушает.

«Similarity ≠ relevance — что нам действительно нужно при поиске, так это релевантность, а для этого требуется reasoning (логический вывод).» — команда VectifyAI

Как работает PageIndex

PageIndex работает в два шага. Сначала он обрабатывает документ и строит иерархическую древовидную структуру, где каждый узел имеет заголовок, краткое содержание и диапазон страниц. Затем, когда поступает запрос, LLM читает дерево и рассуждает, в каких узлах, скорее всего, содержится ответ. Содержимое этих узлов поступает на финальную генерацию ответа.


graph TD
    A[📄 PDF / Markdown документ] --> B[Построение дерева PageIndex]
    B --> C[Иерархическая древовидная структура]
    C --> D{Запрос пользователя}
    D --> E[LLM рассуждает над деревом]
    E --> F[Выбор релевантных узлов]
    F --> G[Генерация точного ответа]
    style A fill:#4A90D9,color:#fff
    style G fill:#27AE60,color:#fff

В отличие от «чёрного ящика» векторного поиска, каждый ответ имеет чёткий путь через дерево документа — это обеспечивает необходимый аудиторский след для регулируемых финансовых сред.

Сравнение с традиционными решениями

ПараметрТрадиционный RAGPageIndex
Метод поискаВекторное сходствоLLM-рассуждение по дереву
Векторная БДТребуетсяНе нужна
ЧанкингПроизвольная нарезкаЕстественные секции
Точность на FinanceBench~50%98.7%
GPT-4o (без RAG)~31%
Прозрачность«Vibe retrieval»Полная трассировка
Vision-поддержкаОграниченнаяЕсть (Vision-based RAG)

Разрыв составляет ~49 процентных пунктов между PageIndex и традиционным векторным RAG. Это не инкрементальное улучшение — это результат совершенно другого класса.

⚠ Честная оговорка
PageIndex отлично справляется с длинными, структурированными документами: финансовыми отчётами, юридическими договорами и техническими руководствами, где важны перекрёстные ссылки и иерархия. Традиционный векторный RAG по-прежнему лучше подходит для крупномасштабного поиска по многим документам, где приоритет — скорость и экономия.

Быстрый старт: установка и запуск

# 1. Установить зависимости
pip3 install --upgrade -r requirements.txt

# 2. Создать .env с API-ключом
OPENAI_API_KEY=your_openai_key_here

# 3. Сгенерировать PageIndex-дерево для PDF
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf

# Опционально: задать модель и параметры
python3 run_pageindex.py \
  --pdf_path /path/to/doc.pdf \
  --model gpt-4o-2024-11-20 \
  --max-pages-per-node 10

Для агентного примера с OpenAI Agents SDK:

pip3 install openai-agents
python3 examples/agentic_vectorless_rag_demo.py
💡 Поддержка форматов
PageIndex работает не только с PDF. Через флаг --md_path можно передавать Markdown-файлы. Иерархия определяется по символам #: ## — уровень 2, ### — уровень 3. Если Markdown конвертирован из PDF, авторы рекомендуют сначала прогнать файл через PageIndex OCR.

Варианты развёртывания

Self-host — запуск локально через open-source репозиторий (использует стандартный парсинг PDF). Cloud Service — пайплайн production-уровня с улучшенным OCR, построением дерева и retrieval. Доступен мгновенно через чат-платформу или через MCP/API. Enterprise — выделенное или приватное развёртывание (VPC, on-prem).

Mafin 2.5 высоко адаптируется к разным базовым моделям, демонстрируя идентичную высокую точность (98.7%) как на ChatGPT 4o (публичное облако), так и на DeepSeek v3 (приватное развёртывание).

Значение для отрасли

PageIndex — это open-source проект под лицензией MIT, вышедший в сентябре 2025 года. GitHub-репозиторий набрал более 23 000 звёзд и почти 2 000 форков по состоянию на конец марта 2026 года.

PageIndex поддерживает Vision-based RAG, позволяя моделям «видеть» общую разметку страницы (графики, сложные таблицы), а не полагаться исключительно на OCR-текст. Это особенно важно для финансовых документов, где визуальное расположение балансовых отчётов так же значимо, как и сами цифры.

📝 Для каких документов подходит
PageIndex оптимален для: финансовых отчётов, юридических документов, регуляторных заявок, технических руководств, медицинской литературы, научных учебников — любых длинных, структурированных профессиональных документов.

Появление PageIndex сигнализирует о важном сдвиге парадигмы: индустрия начинает отходить от «vibe retrieval» (поиска по ощущению близости) к воспроизводимому, объяснимому и контекстно-осознанному поиску на основе рассуждений. Для компаний, работающих с критически важными документами — юридическими, медицинскими, финансовыми — это может означать принципиально иной уровень надёжности AI-систем.