EN

PageIndex и Streamlit: программа поиска по PDF со ссылками на страницы

Опубликовано: 2026-10-03 · Автор: AI Release · @ai_release1
PageIndex и Streamlit: программа поиска по PDF со ссылками на страницы

⚡ Главное за 5 секунд - PDF Desk — это Python-приложение для поиска ответов по PDF, связывающее ответ модели с конкретной страницей документа. - Доступно на GitHub, запускается на macOS/Linux; для Windows команды есть в README. - Ограничения: один активный PDF, до 25 МиБ и 500 страниц, обязателен текстовый слой, OCR отсутствует. ### 🔍 Что обнаружено Статья на Хабре, опубликованная 3 октября, описывает PDF Desk — небольшое приложение на Python, Streamlit, PageIndex и PDFium. В проекте зафиксированы версии: PageIndex 0.2.20, Streamlit 1.64.0, pypdfium2 5.13.0, PyPDF2 3.0.1. Для работы нужны Python 3.11 или новее, Git и доступ к OpenAI-совместимому POST /chat/completions. Модель ответов обязательно должна поддерживать вызовы инструментов, иначе PageIndex не сможет пройти рабочий маршрут. Проверка подключения реализована не через GET /models, а двумя короткими запросами. Сначала идёт обычный запрос к модели подготовки (в тесте DeepSeek — deepseek-flash), затем к модели ответов передаётся функция ping с просьбой вызвать её. Это позволяет поймать несовместимый API до отправки текста документа. Код разнесён по трём файлам: app.py (интерфейс и сценарий), reader.py (PDFium, PageIndex, правила проверки), storage.py (локальные пути и манифест). Индекс хранится в data/items/<отпечаток>/index/, активный документ — в active.json. ### 💡 Почему это важно Проблема, которую решает PDF Desk, знакома каждому, кто работал с чатами на базе LLM: модель может уверенно назвать «18 месяцев» там, где в договоре написано «12». В чате такую ошибку трудно заметить, а здесь каждая ссылка в ответе ведёт к физической странице исходного PDF, которую можно открыть одним нажатием и сверить. Это практический инструмент для проверки фактов в ответах модели и для создания более прозрачных RAG-приложений, где ответ всегда сопровождается доказательством из первоисточника. ### 🧩 Контекст В предыдущей статье автор разбирал локальный RAG на Markdown и TXT, где источником служил диапазон строк. PDF устроен иначе: текст может не совпадать с визуальным представлением из-за колонок, таблиц и подписей. Поэтому в PDF Desk для сверки используется страница как изображение, генерируемое PDFium, а рядом — текстовый слой для понимания того, что увидела программа. PageIndex работает в локальном режиме: строит древовидный индекс PDF и ведёт агентный поиск, но вычисления модели могут уходить во внешний API — это важно учитывать при работе с конфиденциальными документами.

🔗 Читать на habr.com

🤖 Кратко для ИИ
PageIndexStreamlitPDFPythonИИ
📖
Читать гайд по теме
Читать →
← ПредыдущаяMicrosoft сокращает ожидание компиляции шейдеров в Gears of War: E-DayСледующая →QA framework для ML-моделей: как я собрала ModelContract

Источник: habr.com · пост в Telegram