В настоящее время в системах генерации с извлечением информации (RAG) основное узкое место для разработчиков — это не большая языковая модель (LLM), а конвейер приёма данных. Преобразование сложных PDF-файлов в формат, пригодный для анализа LLM, остаётся задачей с высокой задержкой и часто дорогостоящей.
Компания LlamaIndex недавно представила LiteParse — библиотеку для анализа документов с открытым исходным кодом, предназначенную для решения этих проблем. В отличие от многих существующих инструментов, которые полагаются на облачные API или тяжёлые библиотеки OCR на основе Python, LiteParse — это решение, созданное для работы на локальном компьютере пользователя. Оно служит альтернативой в «быстром режиме» управляемому сервису LlamaParse компании, уделяя особое внимание скорости, конфиденциальности и пространственной точности для рабочих процессов с ИИ-агентами.
Технический поворот: TypeScript и пространственный текст
Самое существенное техническое отличие LiteParse — его архитектура. В то время как большая часть экосистемы ИИ построена на Python, LiteParse написан на TypeScript (TS) и работает на Node.js. Он использует PDF.js (в частности, pdf.js-extract) для извлечения текста и Tesseract.js для локального оптического распознавания символов (OCR).
Выбрав стек на основе TypeScript, команда LlamaIndex обеспечивает отсутствие зависимостей от Python в LiteParse, что упрощает его интеграцию в современные веб-среды или среды с граничными вычислениями. Он доступен как в виде интерфейса командной строки (CLI), так и в виде библиотеки, что позволяет разработчикам обрабатывать документы в любом объёме без накладных расходов на запуск Python.
Основная логика библиотеки основана на пространственном анализе текста. Большинство традиционных парсеров пытаются преобразовать документы в Markdown. Однако преобразование в Markdown часто терпит неудачу при работе с многоколоночными макетами или вложенными таблицами, что приводит к потере контекста. LiteParse избегает этого, проецируя текст на пространственную сетку. Он сохраняет исходное расположение текста на странице с помощью отступов и пробелов, что позволяет LLM использовать свои внутренние возможности пространственного анализа для «чтения» документа в том виде, в каком он появился на странице.
Решение проблемы с таблицами через сохранение макета
Повторяющейся задачей для разработчиков ИИ является извлечение табличных данных. Традиционные методы включают сложные эвристики для идентификации ячеек и строк, которые часто приводят к искажённому тексту, когда структура таблицы нестандартна.
LiteParse использует так называемый «красивый ленивый» подход к таблицам. Вместо того чтобы пытаться реконструировать формальный табличный объект или сетку Markdown, он сохраняет горизонтальное и вертикальное выравнивание текста. Поскольку современные LLM обучены на огромном количестве ASCII-арта и форматированных текстовых файлов, они часто более способны интерпретировать пространственно точный текстовый блок, чем плохо реконструированную таблицу Markdown. Этот метод снижает вычислительные затраты на синтаксический анализ, сохраняя при этом взаимосвязь данных для LLM.
Агентские функции: скриншоты и метаданные в формате JSON
LiteParse специально оптимизирован для ИИ-агентов. В агентском рабочем процессе RAG агенту может потребоваться проверка визуального контекста документа, если извлечение текста неоднозначно. Для облегчения этого LiteParse включает функцию создания скриншотов на уровне страницы в процессе синтаксического анализа.
При обработке документа LiteParse может выводить:
* Пространственный текст: версия документа, сохранённая с сохранением макета.
* Скриншоты: файлы изображений для каждой страницы, позволяющие мультимодальным моделям (таким как GPT-4o или Claude 3.5 Sonnet) визуально проверять диаграммы, схемы или сложное форматирование.
* Метаданные в формате JSON: структурированные данные, содержащие номера страниц и пути к файлам, что помогает агентам поддерживать чёткую «цепочку хранения» информации, которую они извлекают.
Этот мультимодальный вывод позволяет инженерам создавать более надёжных агентов, которые могут переключаться между чтением текста для скорости и просмотром изображений для высокоточного визуального анализа.
Внедрение и интеграция
LiteParse разработан как компонент, встраиваемый в экосистему LlamaIndex. Для разработчиков, уже использующих VectorStoreIndex или IngestionPipeline, LiteParse предоставляет локальную альтернативу на этапе загрузки документов.
Инструмент можно установить через npm и предлагает простой интерфейс командной строки:
`npx @llamaindex/liteparse
Эта команда обрабатывает PDF и заполняет выходной каталог файлами с пространственным текстом и, если настроено, скриншотами страниц.
Ключевые выводы
1. Архитектура на основе TypeScript: LiteParse построен на Node.js с использованием PDF.js и Tesseract.js, работает без зависимостей от Python. Это делает его высокоскоростной и лёгкой альтернативой для разработчиков, работающих вне традиционного стека Python AI.
2. Пространственный анализ вместо Markdown: вместо преобразования, чреватого ошибками, LiteParse использует пространственный анализ текста. Он сохраняет исходный макет документа за счёт точного использования отступов и пробелов, используя естественную способность LLM интерпретировать визуальную структуру и таблицы в стиле ASCII.
3. Создан для мультимодальных агентов: для поддержки агентских рабочих процессов LiteParse генерирует скриншоты на уровне страницы. Это позволяет мультимодальным агентам «видеть» и рассуждать о сложных элементах, таких как диаграммы или схемы, которые трудно передать в виде обычного текста.
4. Локальная конфиденциальность: вся обработка, включая OCR, происходит на локальном процессоре. Это устраняет необходимость в вызовах сторонних API, значительно снижает задержку и гарантирует, что конфиденциальные данные никогда не покидают локальный периметр безопасности.
5. Бесперебойный опыт разработчика: LiteParse разработан для быстрого развёртывания, его можно установить через npm и использовать в качестве интерфейса командной строки или библиотеки. Он интегрируется непосредственно в экосистему LlamaIndex, обеспечивая путь «быстрого режима» для производственных конвейеров RAG.
1. Какие проблемы решает LiteParse в контексте работы с ИИ-агентами?
LiteParse решает проблему преобразования сложных PDF-файлов в формат, пригодный для анализа LLM (больших языковых моделей). Он обеспечивает высокую скорость работы, конфиденциальность данных и пространственную точность анализа для рабочих процессов с ИИ-агентами.
2. В чём заключается основное техническое отличие LiteParse от других инструментов для анализа документов?
Основное техническое отличие LiteParse заключается в его архитектуре. В то время как большая часть экосистемы ИИ построена на Python, LiteParse написан на TypeScript (TS) и работает на Node.js. Это обеспечивает отсутствие зависимостей от Python и упрощает интеграцию в современные веб-среды или среды с граничными вычислениями.
3. Как LiteParse обрабатывает таблицы в документах?
LiteParse использует «красивый ленивый» подход к таблицам. Вместо того чтобы пытаться реконструировать формальный табличный объект или сетку Markdown, он сохраняет горизонтальное и вертикальное выравнивание текста. Это позволяет современным LLM интерпретировать пространственно точный текстовый блок, сохраняя при этом взаимосвязь данных.
4. Какие дополнительные возможности предоставляет LiteParse для ИИ-агентов?
LiteParse включает функцию создания скриншотов на уровне страницы в процессе синтаксического анализа. Это позволяет мультимодальным моделям визуально проверять диаграммы, схемы или сложное форматирование. Кроме того, LiteParse генерирует метаданные в формате JSON, содержащие номера страниц и пути к файлам, что помогает агентам поддерживать чёткую «цепочку хранения» информации.
5. Как можно установить и использовать LiteParse?
Инструмент можно установить через npm. Для этого используется команда: `npx @llamaindex/liteparse