PageIndex: open-source система индексации PDF для более точного и логичного поиска
Что такое PageIndex?
PageIndex — это открытая система индексации PDF-документов, предназначенная для повышения точности поиска в длинных профессиональных документах и улучшения логических способностей LLM. Она преобразует PDF-документы в иерархическую древовидную структуру, заменяя традиционный векторный семантический поиск RAG, что обеспечивает более точный и логически структурированный поиск.
Основные функции PageIndex включают преобразование документа в древовидную структуру, подобную интеллектуальному оглавлению, обеспечение точного определения страниц, отказ от произвольного разбиения на фрагменты и поддержку сверхдлинных документов — легко обрабатываются сотни и даже тысячи страниц.
Принцип работы заключается в преобразовании PDF-документа в семантическое дерево с последующим объединением анализа запросов, выбора документа, выбора узлов и генерации контента для предоставления точных ответов. В отличие от систем, использующих векторные базы данных или традиционные методы разбиения на фрагменты, PageIndex полностью бесплатен и имеет открытый исходный код. Он особенно подходит для обработки финансовых отчётов, нормативных документов, академических учебников, юридических или технических руководств, а также любых документов, выходящих за рамки ограничений контекста LLM.

Основные функции PageIndex
Обработка документов: способность обрабатывать длинные документы, особенно профессиональные, путём построения дерева поиска для подготовки к генерации с расширенным поиском на основе логических рассуждений (RAG).
Извлечение и обработка оглавления
Извлечение оглавления из документа с обработкой случаев наличия или отсутствия номеров страниц.
Преобразование оглавления в определённый формат JSON для удобства дальнейшей обработки.
Обработка номеров страниц: добавление физических индексов к пунктам оглавления, обработка отсутствующих или некорректных номеров страниц, исправление некорректных пунктов путём множественных попыток.
Обработка узлов: рекурсивная обработка крупных узлов с разбиением их на более мелкие в соответствии с ограничениями по количеству токенов и страниц.
Проверка и исправление: проверка точности оглавления, вычисление показателя точности и исправление неточных результатов.
Особенности PageIndex
Иерархическая древовидная структура: позволяет LLM логически перемещаться по документу, словно по интеллектуальному оглавлению, оптимизированному для LLM.
Точные ссылки на страницы: каждый узел содержит своё резюме и физические индексы начальной/конечной страниц, что обеспечивает точный поиск.
Отсутствие произвольного разбиения: не используется произвольное разбиение на фрагменты — узлы следуют естественной структуре документа.
Поддержка крупных документов: предназначен для лёгкой обработки сотен и даже тысяч страниц.
Сценарии применения PageIndex
Финансовая сфера
Анализ финансовых отчётов: быстрое нахождение ключевых финансовых данных и показателей.
Изучение нормативных документов: точный поиск положений регламентов для обеспечения соответствия требованиям.
Юридическая сфера
Поиск в юридических документах: эффективный поиск правовых норм и прецедентов.
Экспертиза контрактов: быстрое определение ключевых положений в договорах.
Академические исследования
Поиск научных работ: быстрое нахождение результатов исследований и теоретического обоснования.
Изучение учебников: удобное нахождение нужных глав и учебных материалов.
Техническая документация
Технические руководства: быстрый поиск рабочих процедур и технических параметров.
Проектная документация: эффективный поиск ключевой информации в проекте.
Корпоративная среда
Внутренние отчёты: быстрое определение ключевого содержания в длинных отчётах.
Управление базами знаний: повышение эффективности обмена знаниями и их поиска.
Медицинская сфера
Поиск медицинской литературы: быстрое нахождение результатов исследований и методов лечения.
Клинические руководства: точное определение клинических протоколов.
Сфера образования
Материалы онлайн-курсов: быстрый поиск ключевого содержания курсов.
Материалы для подготовки к экзаменам: эффективное определение пунктов для повторения.
Государственные учреждения
Изучение политических документов: быстрый поиск положений политики.
Поиск публичной информации: повышение эффективности государственных услуг.
Как пользоваться PageIndex
1. Установка зависимостей
pip3 install -r requirements.txt
2. Настройка ключа API Openai
Создайте файл .env в корневой директории и добавьте ваш ключ API:
CHATGPT_API_KEY=your_openai_key_here
3. Запуск PageIndex для PDF
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
Также можно настроить процесс обработки с помощью дополнительных необязательных параметров, например:
--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: no) --if-add-doc-description Add doc description (yes/no, default: yes)
Github:https://github.com/VectifyAI/PageIndex
Официальный сайт проекта:https://vectify.ai/pageindex
Помощник сценариста▸
AI Приложения
AI Новости 