Schritt-für-Schritt-Anleitung zur lokalen Bereitstellung von olmOCR: Vereinfachen Sie die PDF-Verarbeitung!

OLMOCR Team
1. März 2025
Schritt-für-Schritt-Anleitung zur lokalen Bereitstellung von olmOCR: Vereinfachen Sie die PDF-Verarbeitung!
An alle, die mit PDF-Dokumenten arbeiten: Achtung! Heute empfehle ich euch ein mächtiges Werkzeug – olmOCR! Es ermöglicht Sprachmodellen, PDFs mit den verrücktesten Layouts zu verstehen. Egal, ob es sich um wissenschaftliche Arbeiten oder komplexe Tabellen handelt, alles ist machbar. Das Beste daran ist, dass es die lokale Bereitstellung unterstützt, wodurch die Datensicherheit gewährleistet ist! Im Folgenden führe ich euch Schritt für Schritt durch die Installation und Verwendung 👇
🛠️ Vorbereitung: Installation der Abhängigkeiten
Zuerst müssen wir einige systemweite Abhängigkeiten installieren (am Beispiel von Ubuntu):
# Ein-Klick-Installation des Gesamtpakets
sudo apt-get update
sudo apt-get install poppler-utils ttf-mscorefonts-installer msttcorefonts fonts-crosextra-caladea fonts-crosextra-carlito gsfonts lcdf-typetools
💡 Kleiner Tipp: Wenn während der Installation Lizenzvereinbarungen für Schriftarten angezeigt werden, drücken Sie die TAB
-Taste, um <Yes>
auszuwählen und zu bestätigen!
🌱 Erstellen einer Python-Umgebung
Es wird empfohlen, die Umgebung mit conda zu verwalten:
conda create -n olmocr python=3.11
conda activate olmocr
# Repository klonen und installieren
git clone https://github.com/allenai/olmocr.git
cd olmocr
pip install -e .
⚡ Installation von Beschleunigungskomponenten
Möchten Sie die GPU-Beschleunigung nutzen? Diese beiden Befehlszeilen sind unerlässlich:
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/
🚀 Schnelle Erfahrung: PDF-Konvertierung in der Praxis
Konvertierung einer einzelnen Datei
python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf
Stapelverarbeitung
python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf
Die Konvertierungsergebnisse werden in JSONL-Dateien im Verzeichnis ./localworkspace/results
gespeichert. Verwenden Sie diesen Befehl, um sie anzuzeigen:
cat localworkspace/results/output_*.jsonl
👀 Visualisierungs- und Vergleichstool
Möchten Sie das ursprüngliche PDF und die Konvertierungsergebnisse visuell vergleichen? Probieren Sie Folgendes aus:
python -m olmocr.viewer.dolmaviewer localworkspace/results/output_*.jsonl
Öffnen Sie die HTML-Dateien im generierten Verzeichnis dolma_previews
. Sie sehen eine Vergleichsansicht wie diese 👇
🧰 Fortgeschrittene Methoden
Verarbeitung von Millionen von PDFs
Für die Verarbeitung großer Mengen von PDFs auf Unternehmensebene können Sie einen AWS-Cluster verwenden:
# Initialisierung des ersten Knotens
python -m olmocr.pipeline s3://my_bucket/workspace --pdfs s3://my_bucket/pdfs/*.pdf
# Andere Knoten treten dem Cluster bei
python -m olmocr.pipeline s3://my_bucket/workspace
Vollständige Parameter anzeigen
python -m olmocr.pipeline --help
💻 Exklusiv für Docker-Benutzer
Es gibt eine offizielle Dockerfile. Das direkte Abrufen des Images ist noch einfacher:
FROM allenai/olmocr-inference:latest
# Detaillierte Anweisungen finden Sie in der Projektdokumentation.
# Link wie folgt:
https://github.com/allenai/olmocr/blob/main/scripts/beaker/Dockerfile-inference
❓ Häufig gestellte Fragen
-
Was tun bei GPU-Fehlern? Überprüfen Sie den Grafikkartentreiber und die CUDA-Version. Es wird empfohlen, neuere Karten wie RTX 4090/L40S/A100/H100 zu verwenden.
-
Werden chinesische PDFs unterstützt? Derzeit ist die Optimierung hauptsächlich auf englische Dokumente ausgerichtet. Sie können jedoch mit dem Parameter
--apply_filter
andere Sprachen ausprobieren. -
Nicht genügend Speicherplatz? Reservieren Sie mindestens 30 GB Speicherplatz. Für die Verarbeitung großer Dateien wird die Verwendung einer SSD empfohlen.
👏 Danksagung
olmOCR wurde vom Allen Institute for AI (AI2) unter der Apache 2.0-Lizenz entwickelt. Besonderer Dank gilt dem Beitrag des Entwicklungsteams (Vollständige Liste der Mitwirkenden).
Probieren Sie es jetzt aus! Bei Fragen können Sie sich gerne in der Discord-Community austauschen. 🎉