Guida passo passo per l'installazione locale di olmOCR: Semplifica l'elaborazione dei PDF!

Guida passo passo per l'installazione locale di olmOCR: Semplifica l'elaborazione dei PDF!

Author

OLMOCR Team

1 marzo 2025

Guida passo passo per l'installazione locale di olmOCR: Semplifica l'elaborazione dei PDF!

olmOCR Logo

Attenzione a tutti coloro che gestiscono documenti PDF! Oggi vi consiglio un potente strumento: olmOCR, che consente ai modelli linguistici di leggere facilmente PDF con layout complessi! Che si tratti di documenti accademici o tabelle complesse, può gestire tutto. La cosa migliore è che supporta l'installazione locale, garantendo la sicurezza dei dati! Di seguito, vi guiderò passo dopo passo attraverso l'installazione e l'utilizzo 👇


🛠️ Preparazione: Installazione delle dipendenze

Per prima cosa, dobbiamo installare alcune dipendenze a livello di sistema (prendendo Ubuntu come esempio):

# Installazione one-click di tutto il necessario
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 Suggerimento: Durante l'installazione, quando si incontra l'accordo di licenza dei font, premere il tasto TAB per selezionare <Yes> e confermare!


🌱 Creazione dell'ambiente Python

Si consiglia di utilizzare conda per gestire l'ambiente:

conda create -n olmocr python=3.11
conda activate olmocr

# Clonazione del repository e installazione
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ Installazione dei componenti di accelerazione

Vuoi utilizzare l'accelerazione GPU? Questi due comandi sono essenziali:

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/

🚀 Esperienza rapida: Conversione di PDF in pratica

Conversione di un singolo file

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

Elaborazione in batch

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

I risultati della conversione verranno salvati in un file JSONL nella directory ./localworkspace/results. Utilizzare questo comando per visualizzarli:

cat localworkspace/results/output_*.jsonl

👀 Strumento di confronto visivo

Vuoi confrontare visivamente il PDF originale e i risultati della conversione? Prova questo:

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

Apri il file HTML nella directory dolma_previews generata e vedrai un'interfaccia di confronto come questa 👇

Esempio di confronto visivo


🧰 Funzionalità avanzate

Elaborazione di milioni di PDF

Per l'elaborazione di PDF su larga scala a livello aziendale, è possibile utilizzare un cluster AWS:

# Inizializzazione del primo nodo
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# Altri nodi si uniscono al cluster
python -m olmocr.pipeline s3://my_bucket/workspace

Visualizzazione dei parametri completi

python -m olmocr.pipeline --help

💻 Esclusivo per gli utenti Docker

Viene fornito un Dockerfile ufficiale, che rende più semplice l'utilizzo diretto dell'immagine:

FROM allenai/olmocr-inference:latest
# Per l'utilizzo specifico, consultare la documentazione del progetto
# Il link è il seguente:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ Domande frequenti

  1. Cosa fare in caso di errore della GPU?
    Verificare il driver della scheda grafica e la versione di CUDA. Si consiglia di utilizzare schede recenti come RTX 4090/L40S/A100/H100.

  2. I PDF in cinese sono supportati?
    Attualmente, l'ottimizzazione principale è per i documenti in inglese, ma è possibile provare altre lingue tramite il parametro --apply_filter.

  3. Spazio su disco insufficiente?
    Riservare almeno 30 GB di spazio. Per l'elaborazione di file di grandi dimensioni, si consiglia di montare un SSD.


👏 Ringraziamenti

olmOCR è sviluppato dall'Allen Institute for AI (AI2) ed è rilasciato sotto la licenza Apache 2.0. Un ringraziamento speciale va al team di sviluppo per il loro contributo (elenco completo dei contributori).

Provatelo subito! In caso di problemi, siete invitati a comunicare nella community Discord ~🎉