Stapsgewijze handleiding voor lokale implementatie van olmOCR: PDF-verwerking supereenvoudig maken!

Stapsgewijze handleiding voor lokale implementatie van olmOCR: PDF-verwerking supereenvoudig maken!

Author

OLMOCR Team

1 maart 2025


# Stapsgewijze handleiding voor lokale implementatie van olmOCR: PDF-verwerking supereenvoudig maken!

![olmOCR Logo](https://github.com/user-attachments/assets/d70c8644-3e64-4230-98c3-c52fddaeccb6)

Aan alle PDF-verwerkende vrienden, let op! Vandaag beveel ik een krachtige tool aan: **olmOCR**. Het stelt taalmodellen in staat om gemakkelijk allerlei lastig opgemaakte PDF's te lezen! Of het nu gaat om academische papers of complexe tabellen, het kan het allemaal aan. Het beste is dat het lokale implementatie ondersteunt, waardoor de gegevensbeveiliging is gewaarborgd! Hieronder leid ik u stap voor stap door de installatie en het gebruik 👇

---

## 🛠️ Voorbereiding: Afhankelijkheden installeren

Eerst moeten we enkele afhankelijkheden op systeemniveau installeren (Ubuntu als voorbeeld):

```bash
# Installeer alles met één commando
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools

💡 Tip: Als u tijdens de installatie een lettertype-licentieovereenkomst tegenkomt, drukt u op de TAB-toets om <Yes> te selecteren en te bevestigen!


🌱 Python-omgeving creëren

Het wordt aanbevolen om conda te gebruiken voor omgevingsbeheer:

conda create -n olmocr python=3.11
conda activate olmocr

# Kloon de repository en installeer
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .

⚡ Installatie van versnellingscomponenten

Wilt u GPU-versnelling gebruiken? Deze twee regels code zijn essentieel:

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/

🚀 Snelle ervaring: PDF-conversie in actie

Conversie van één bestand

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

Batchverwerking

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

De conversieresultaten worden opgeslagen in een JSONL-bestand in de map ./localworkspace/results. Gebruik dit commando om het te bekijken:

cat localworkspace/results/output_*.jsonl

👀 Visualisatievergelijkingstool

Wilt u de originele PDF en de conversieresultaten visueel vergelijken? Probeer dit:

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

Open het HTML-bestand in de gegenereerde map dolma_previews en u ziet een vergelijkingsinterface zoals deze 👇

Voorbeeld van visuele vergelijking


🧰 Geavanceerd gebruik

PDF-verwerking op miljoenen-schaal

Voor grootschalige PDF-verwerking op bedrijfsniveau kunt u een AWS-cluster gebruiken:

# Initialisatie op het eerste knooppunt
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf

# Andere knooppunten voegen zich bij het cluster
python -m olmocr.pipeline s3://my_bucket/workspace

Bekijk volledige parameters

python -m olmocr.pipeline --help

💻 Exclusief voor Docker-gebruikers

Er is een kant-en-klare Dockerfile beschikbaar, waardoor het nog eenvoudiger is om de image op te halen:

FROM allenai/olmocr-inference:latest
# Zie de projectdocumentatie voor specifiek gebruik
# Link:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference

❓ Veelgestelde vragen

  1. Wat moet ik doen als er een GPU-fout optreedt? Controleer de grafische kaartdriver en CUDA-versie. Het wordt aanbevolen om nieuwere kaarten te gebruiken, zoals RTX 4090/L40S/A100/H100.

  2. Worden Chinese PDF's ondersteund? Momenteel is het voornamelijk geoptimaliseerd voor Engelse documenten, maar u kunt proberen andere talen te gebruiken met de parameter --apply_filter.

  3. Onvoldoende schijfruimte? Reserveer ten minste 30 GB ruimte. Voor het verwerken van grote bestanden wordt aanbevolen om een SSD te gebruiken.


👏 Dankwoord

olmOCR is ontwikkeld door het Allen Institute for AI (AI2) en is uitgebracht onder de Apache 2.0 open-source licentie. Speciale dank aan de bijdragen van het ontwikkelteam (volledige lijst van bijdragers).

Probeer het nu! Als u problemen ondervindt, kunt u terecht op de Discord-community voor discussie ~🎉