Пошаговое руководство по локальному развертыванию olmOCR: упрощаем обработку PDF!

OLMOCR Team
1 марта 2025 г.
Пошаговое руководство по локальному развертыванию olmOCR: упрощаем обработку PDF!
Внимание всем, кто работает с PDF-документами! Сегодня я хочу порекомендовать вам полезный инструмент — olmOCR, который позволяет языковым моделям легко читать PDF-файлы с самым разным форматированием! Он справится с любыми задачами: от научных статей до сложных таблиц. И самое главное — он поддерживает локальное развертывание, обеспечивая безопасность данных! Ниже я шаг за шагом проведу вас через процесс установки и использования 👇
🛠️ Подготовка: установка зависимостей
Для начала установим несколько системных зависимостей (на примере Ubuntu):
# Установка всего необходимого в один клик
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools
💡 Подсказка: Если во время установки появится запрос на принятие лицензионного соглашения для шрифтов, нажмите клавишу TAB
, выберите <Yes>
и подтвердите!
🌱 Создание среды Python
Рекомендуется использовать conda для управления средой:
conda create -n olmocr python=3.11
conda activate olmocr
# Клонирование репозитория и установка
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .
⚡ Установка компонентов для ускорения
Хотите использовать GPU для ускорения? Тогда эти две команды обязательны:
pip install sgl-kernel==0.0.3.post1 --force-reinstall --no-deps
pip install "sglang[all]==0.4.2" --find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/
🚀 Быстрый старт: конвертация PDF на практике
Конвертация одного файла
python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf
Пакетная обработка
python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf
Результаты конвертации будут сохранены в файле JSONL в каталоге ./localworkspace/results
. Просмотреть их можно с помощью этой команды:
cat localworkspace/results/output_*.jsonl
👀 Инструмент визуального сравнения
Хотите наглядно сравнить исходный PDF-файл и результат конвертации? Попробуйте это:
python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl
Откройте HTML-файл в сгенерированном каталоге dolma_previews
, и вы увидите интерфейс сравнения, подобный этому 👇
🧰 Продвинутые возможности
Обработка миллионов PDF-файлов
Для обработки больших объемов PDF-файлов на уровне предприятия можно использовать кластер AWS:
# Инициализация на первом узле
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf
# Присоединение других узлов к кластеру
python -m olmocr.pipeline s3://my_bucket/workspace
Просмотр всех параметров
python -m olmocr.pipeline --help
💻 Специально для пользователей Docker
Официально предоставляется готовый Dockerfile, что упрощает задачу — просто скачайте образ:
FROM allenai/olmocr-inference:latest
# Подробности использования см. в документации проекта
# Ссылка:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference
❓ Часто задаваемые вопросы
-
Что делать, если возникает ошибка, связанная с GPU?
Убедитесь, что драйвер видеокарты и версия CUDA соответствуют требованиям. Рекомендуется использовать новые видеокарты, такие как RTX 4090/L40S/A100/H100. -
Поддерживаются ли PDF-файлы на русском языке?
В настоящее время основное внимание уделяется оптимизации для документов на английском языке, но вы можете попробовать использовать другие языки с помощью параметра--apply_filter
. -
Недостаточно места на диске?
Зарезервируйте не менее 30 ГБ свободного места. Для обработки больших файлов рекомендуется использовать SSD.
👏 Благодарности
olmOCR разработан Институтом искусственного интеллекта Аллена (AI2) и распространяется по лицензии Apache 2.0. Особая благодарность команде разработчиков (полный список участников).
Попробуйте прямо сейчас! Если у вас возникнут вопросы, присоединяйтесь к сообществу Discord ~🎉