Steg-för-steg guide till lokal distribution av olmOCR: Gör PDF-bearbetning superenkel!

Steg-för-steg guide till lokal distribution av olmOCR: Gör PDF-bearbetning superenkel!

Author

OLMOCR Team

1 mars 2025

Steg-för-steg guide till lokal distribution av olmOCR: Gör PDF-bearbetning superenkel!

olmOCR Logo

Hallå alla PDF-användare! Idag vill jag tipsa om ett fantastiskt verktyg – olmOCR – som gör det enkelt för språkmodeller att förstå PDF:er med komplicerad layout! Vare sig det gäller akademiska avhandlingar eller komplexa tabeller, så klarar den allt. Det bästa är att den stöder lokal distribution, vilket garanterar datasäkerheten! Nedan guidar jag er steg för steg genom installation och användning 👇


🛠️ Förberedelser: Installera beroenden

Först måste vi installera några systemberoenden (med Ubuntu som exempel):

# Allt-i-ett-installation
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 Tips: Om du stöter på ett teckensnittslicensavtal under installationen, tryck på TAB-tangenten och välj <Yes> för att bekräfta!


🌱 Skapa en Python-miljö

Det rekommenderas att använda conda för att hantera miljön:

conda create -n olmocr python=3.11
conda activate olmocr

# Klona arkivet och installera
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ Installera accelerationskomponenter

Vill du använda GPU-acceleration? Då är dessa två kommandon nödvändiga:

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/

🚀 Snabbstart: Konvertera PDF:er i praktiken

Konvertera en enskild fil

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf

Batchbearbetning

python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf

Konverteringsresultaten sparas i JSONL-filer i katalogen ./localworkspace/results. Använd detta kommando för att visa dem:

cat localworkspace/results/output_*.jsonl

👀 Visualiseringsverktyg för jämförelse

Vill du visuellt jämföra original-PDF:en med konverteringsresultatet? Testa detta:

python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl

Öppna HTML-filen i den genererade dolma_previews-katalogen, så ser du ett sådant här jämförelsegränssnitt 👇

Exempel på visuell jämförelse


🧰 Avancerade funktioner

Bearbetning av miljontals PDF:er

För storskalig PDF-bearbetning i företagsklass kan du använda AWS-kluster:

# Initiera den första noden
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# Lägg till andra noder i klustret
python -m olmocr.pipeline s3://my_bucket/workspace

Visa fullständiga parametrar

python -m olmocr.pipeline --help

💻 För Docker-användare

En officiell Dockerfile finns tillgänglig, vilket gör det enklare att hämta avbildningen direkt:

FROM allenai/olmocr-inference:latest
# Se projektdokumentationen för specifik användning
# Länk:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ Vanliga frågor

  1. Vad gör jag om jag får ett GPU-fel?
    Kontrollera grafikkortsdrivrutinen och CUDA-versionen. Det rekommenderas att använda nyare kort som RTX 4090/L40S/A100/H100.

  2. Stöds PDF:er på svenska?
    För närvarande är optimeringen främst för engelska dokument, men du kan prova andra språk med parametern --apply_filter.

  3. Otillräckligt diskutrymme?
    Reservera minst 30 GB utrymme. För bearbetning av stora filer rekommenderas att montera en SSD.


👏 Tack

olmOCR har utvecklats av Allen Institute for AI (AI2) och använder Apache 2.0-licensen. Ett särskilt tack till utvecklingsteamet för deras bidrag (fullständig lista över bidragsgivare).

Testa det nu! Om du stöter på problem, välkommen att diskutera i Discord-communityn ~🎉