PageIndex: open-source система индексации PDF для более точного и логичного поиска 57

小编 ·

PageIndex: open-source система индексации PDF для более точного и логичного поиска

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

PageIndex: open-source система индексации PDF для более точного и логичного поиска

Что такое PageIndex?

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

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

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

PageIndex: открытая система индексации PDF-документов.webp

Основные функции 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