Покрокова інструкція з локального розгортання 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 для обговорення! 🎉