Komplet olmOCR Lokal Installation Guide 2025: Moderne PDF-behandling med Docker & vLLM

Sep 6, 2025

olmOCR Logo

Jeg har arbejdet med olmOCR i de sidste par måneder, og jeg må sige – dette værktøj har helt ændret måden, jeg håndterer PDF-behandling på. Version 0.3.4 er lige udkommet, og det er ærlig talt imponerende, hvad Allen AI-teamet har opnået her.

🚀 Vil du prøve det først? Besøg vores startside for at teste olmOCRs evner med dine egne PDF'er, før du opsætter den lokale installation.

📚 Bemærk: Hvis du leder efter vores tidligere installationsguide "Trin-for-trin guide til lokal installation af olmOCR", skal du bemærke, at den nu er forældet. Denne omfattende 2025-guide indeholder de nyeste installationsmetoder og bedste praksis.

Her er hvad der fangede min opmærksomhed i den seneste udgivelse:

  • Den automatiske rotationsdetektion virker faktisk nu (ingen flere skæve dokumenter!)
  • Docker-opsætning er meget smidigere end før
  • De skiftede til vLLM og hastighetsforskellen er mærkbar
  • Hvis du har en RTX 4090 eller H100, er FlashInfer-optimeringen det værd
  • Besparelserne er reelle: Jeg behandler dokumenter for $190 per million sider i stedet for $12K+, jeg betalte for kommercielle API'er

🎯 Hvorfor jeg skiftede til lokal olmOCR-installation

Tallene lyver ikke (men de er ikke alt)

Se, jeg vil ikke pynte på det – jeg skiftede til olmOCR på grund af pengene. Benchmark viser 78,5% nøjagtighed sammenlignet med Markers 70,1%, og det er fantastisk, men det der solgte mig var prisforskellen. Jeg blødte penge på kommercielle API'er.

Men her er hvad der virkelig betyder noget i praksis:

  • Holder faktisk dine data private: Ingen upload af følsomme kontrakter til tredjeparts-tjenester
  • Virker offline: Internet nede? Lige meget, du behandler stadig dokumenter
  • Håndterer mærkelige PDF'er: Du kender de scannede dokumenter fra 1995 med funky layouts? Ja, dem klarer den også
  • Skalerer når du har brug for det: Startede med enkelte filer, nu behandler jeg tusindvis uden at gå fallit

🛠️ Hvad du rent faktisk har brug for

Lad os tale hardware (de rigtige krav)

Før vi dykker ned, lad os være ærlige om hvad du har brug for. Dokumentationen siger "minimum konfiguration", men jeg fortæller dig hvad der faktisk virker:

Hvis du vil i gang:

  • GPU: RTX 4090 med 24GB er sweet spot for de fleste mennesker. Jeg har set den køre på 16GB, men det er stramt - virkeligheds-check: fællesskabet rapporterer at den faktisk bruger ~20GB VRAM på en 3090, så 16GB kort har problemer
  • RAM: 32GB er fint, selvom jeg ville tage 64GB hvis du planlægger at behandle store batches
  • Storage: 30GB minimum, men få en NVMe SSD hvis du kan. Stol på mig med denne
  • CUDA: 12.8+ (check med nvidia-smi først)

⚠️ Fællesskabs-advarsel - Multi-GPU virker ikke: Hvis du tænker "jeg bruger bare to RTX 3060 for at få 24GB i alt" - gør det ikke. Dette kommer konstant op i GitHub issues. olmOCR kan ikke poole VRAM på tværs af flere GPU'er. Du har brug for 20GB+ på et enkelt kort. Spar dig selv for hovedpinen.

Hvis du gør dette for arbejde:

  • GPU: H100 hvis din virksomhed har dybe lommer, A100 hvis de ikke har
  • RAM: 64GB+ fordi du også kører andre ting
  • Storage: 100GB+ på hurtig storage. Behandling bliver rodet

Det kedelige men essentielle setup

Ja, jeg ved, dependency installation er ikke sjovt. Men spring det over og du vil debugge mærkelige PDF-rendering problemer senere. På Ubuntu/Debian:

# De sædvanlige mistænkte først
sudo apt-get update

# Dette er den magiske linje der fikser de fleste PDF problemer
sudo apt-get install -y \
    poppler-utils \
    ttf-mscorefonts-installer \
    msttcorefonts \
    fonts-crosextra-caladea \
    fonts-crosextra-carlito \
    gsfonts \
    lcdf-typetools

Heads up: Ved installation af fonts får du en licens popup. Bare tryk TAB og vælg Ja. Det er Microsoft fonts der er Microsoft.


🐍 Få Python sat rigtigt op

Brug bare Conda (seriøst)

Jeg har prøvet både conda og venv til dette. Conda vinder hver gang. Dependency helvede er virkeligt med PyTorch og CUDA, og conda håndterer det bedre:

# Opret et rent miljø (Python 3.11 er hvad de tester med)
conda create -n olmocr python=3.11
conda activate olmocr

# Denne linje downloader ~3GB ting, vær tålmodig
pip install olmocr[gpu] --extra-index-url https://download.pytorch.org/whl/cu128

# Hvis du har RTX 4090 eller H100, gør dette en forskel
pip install https://download.pytorch.org/whl/cu128/flashinfer/flashinfer_python-0.2.5%2Bcu128torch2.7-cp38-abi3-linux_x86_64.whl

Hvis du virkelig vil bruge venv i stedet

Se, jeg forstår det. Nogle mennesker foretrækker venv. Det er fint, bare bebreid ikke mig når du bruger to timer på at debugge PyTorch versioner:

# Standard venv setup
python3.11 -m venv olmocr-env
source olmocr-env/bin/activate  # Linux/Mac
# For Windows folk: olmocr-env\Scripts\activate

# Kors fingre og installer
pip install olmocr[gpu] --extra-index-url https://download.pytorch.org/whl/cu128

💬 Rigtig bruger-oplevelse: En GitHub bruger opsummerede det perfekt: "Brugte 3 timer på at kæmpe CUDA/PyTorch version konflikter med venv. Skiftede til conda og det virkede på 10 minutter." Dependency løsning i conda gør virkelig en forskel her.


🚀 Tid til faktisk at bruge denne ting

Din første PDF (sandhedens øjeblik)

Lad os starte simpelt. Hvis dette ikke virker, er der noget galt med dit setup:

# Hent deres test PDF (det er kun 3 sider)
curl -o olmocr-sample.pdf https://olmocr.allenai.org/papers/olmocr_3pg_sample.pdf

# Det første kør downloader modellen (~13GB), så tag kaffe
python -m olmocr.pipeline ./workspace --markdown --pdfs olmocr-sample.pdf

Første kør tager evigheder fordi den downloader modellen. Gå ikke i panik.

Batch behandling af flere filer

# Behandl alle PDF'er i et bibliotek
python -m olmocr.pipeline ./workspace --markdown --pdfs /sti/til/pdfs/*.pdf

# Behandl med brugerdefinerede indstillinger
python -m olmocr.pipeline ./workspace \
    --markdown \
    --pdfs /sti/til/pdfs/*.pdf \
    --workers 4 \
    --target_longest_image_dim 2048

Billede fil behandling

olmOCR understøtter flere billedformater:

# Behandl PNG/JPEG billeder
python -m olmocr.pipeline ./workspace --markdown --pdfs document.png image.jpg

🐳 Docker Installation Guide

Metode 1: Officielt Docker Image (anbefalet)

# Pull seneste olmOCR Docker image
docker pull alleninstituteforai/olmocr:latest

# Kør med GPU support og volume mounting
docker run -it --gpus all \
    -v /sti/til/dine/dokumenter:/documents \
    -v /sti/til/output:/output \
    --name olmocr_container \
    alleninstituteforai/olmocr:latest /bin/bash

Inde i Docker Container

# Behandl dokumenter inde i container
python -m olmocr.pipeline /output/workspace \
    --markdown \
    --pdfs /documents/*.pdf

Metode 2: Docker med Ekstern vLLM Server

For produktionsmiljøer, adskil inference serveren:

# Start vLLM server container
docker run -d --gpus all \
    -p 8000:8000 \
    --name vllm-server \
    vllm/vllm-openai:latest \
    --served-model-name olmocr \
    --model allenai/olmOCR-7B-0825-FP8 \
    --max-model-len 16384

# Kør olmOCR klient der peger på vLLM server
docker run --rm --network host \
    -v /sti/til/dokumenter:/documents \
    -v /sti/til/output:/output \
    alleninstituteforai/olmocr:latest \
    python -m olmocr.pipeline /output/workspace \
    --server http://localhost:8000 \
    --markdown \
    --pdfs /documents/*.pdf

⚡ Avancerede Konfigurations Muligheder

GPU Hukommelse Optimering

# Optimer GPU hukommelsesforbrug
python -m olmocr.pipeline ./workspace \
    --markdown \
    --pdfs documents/*.pdf \
    --gpu-memory-utilization 0.9 \
    --max_model_len 8192 \
    --tensor-parallel-size 2

Brugerdefineret Model Konfiguration

# Brug specifik model version
python -m olmocr.pipeline ./workspace \
    --model allenai/olmOCR-7B-0825-FP8 \
    --markdown \
    --pdfs documents/*.pdf

Kvalitets og Ydelse Tuning

# Høj-kvalitets behandling med brugerdefinerede indstillinger
python -m olmocr.pipeline ./workspace \
    --markdown \
    --pdfs documents/*.pdf \
    --target_longest_image_dim 2048 \
    --max_page_retries 5 \
    --max_page_error_rate 0.02 \
    --workers 8 \
    --apply_filter

🏢 Virksomheds & Produktions Installation

Multi-Node Cluster Setup med AWS S3

For at behandle millioner af dokumenter på tværs af flere servere:

# Initialiser workspace på første node
python -m olmocr.pipeline s3://min-bucket/workspace \
    --pdfs s3://min-bucket/documents/*.pdf

# Tilslut yderligere nodes til samme workspace
python -m olmocr.pipeline s3://min-bucket/workspace

Ekstern vLLM Server Konfiguration

For høj-throughput produktionsmiljøer:

# Start vLLM server
vllm serve allenai/olmOCR-7B-0825-FP8 \
    --served-model-name olmocr \
    --max-model-len 16384 \
    --tensor-parallel-size 4 \
    --gpu-memory-utilization 0.95

# Tilslut olmOCR til ekstern server
python -m olmocr.pipeline ./workspace \
    --server http://din-vllm-server:8000 \
    --markdown \
    --pdfs documents/*.pdf

Ydelse Overvågning & Optimering

# Aktiver detaljerede statistikker
python -m olmocr.pipeline ./workspace \
    --stats \
    --markdown \
    --pdfs documents/*.pdf

📊 Se og Administrer Resultater

Output Biblioteks Struktur

workspace/
├── markdown/           # Menneske-læsbare markdown filer
├── results/           # Dolma format output
└── logs/              # Behandlings logs

Se Konverteret Indhold

# Se markdown output
cat workspace/markdown/document.md

# Undersøg detaljerede resultater
cat workspace/results/output_*.jsonl

Visuelt Sammenlignnings Værktøj

Sammenlign originale PDF'er med konverterede resultater:

# Generer side-om-side sammenligning
python -m olmocr.viewer.dolmaviewer workspace/results/output_*.jsonl

# Åbn genereret HTML fil i browser
open dolma_previews/comparison.html

🔧 Når ting går galt (og det gør de)

CUDA Out of Memory (klassikeren)

Dette sker for alle. Din GPU løber tør for VRAM:

# Skru ned for hukommelsesforbrug og prøv igen
python -m olmocr.pipeline ./workspace \
    --gpu-memory-utilization 0.7 \
    --max_model_len 8192 \
    --pdfs documents/*.pdf

🤷‍♂️ Hvad fællesskabet siger: "Hvis du får OOM fejl på noget mindre end 20GB VRAM, det er normalt. Modellen er bare sulten." - GitHub issue #142. Flere brugere bekræfter at selv med optimeringer har du virkelig brug for de fulde 20GB for pålidelig behandling.

Model vil ikke downloade

Sommetider er HuggingFace servere langsomme eller din forbindelse timer ud:

# Download det separat først
huggingface-cli download allenai/olmOCR-7B-0825-FP8

Mærkelige Font/Rendering Problemer

PDF'er ser ødelagte ud? Normalt et font problem:

# Nuklear mulighed: geninstaller alle fonts
sudo apt-get install --reinstall ttf-mscorefonts-installer

Docker kan ikke se din GPU

Docker er sandsynligvis ikke konfigureret til GPU adgang:

# Installer NVIDIA Docker runtime
sudo apt-get install nvidia-docker2
sudo systemctl restart docker

Ja, du skal genstarte Docker. Jeg lærte dette den hårde vej.


📈 Ydelse Benchmarks & Optimering

Benchmark Resultater (olmOCR v0.3.0)

ModelArXivTabellerGamle ScansSamlet Score
olmOCR v0.3.078.672.943.978.5
Marker v1.7.576.057.627.870.1
MinerU v1.3.1075.460.917.361.5

Omkostnings Sammenligning

  • olmOCR: $190 per million sider
  • GPT-4o API: $12,480 per million sider
  • Omkostnings Besparelser: 98.5% reduktion i behandlingsomkostninger

Ydelse Optimerings Tips

  1. GPU Valg: H100 > A100 > RTX 4090 > L40S
  2. Hukommelse Administration: Brug 90% GPU udnyttelse for maksimal gennemstrømning
  3. Batch Behandling: Behandl flere filer samtidig
  4. Billede Opløsning: Balancer kvalitet (2048px) vs hastighed (1280px)
  5. Worker Tråde: Match worker antal til CPU kerner

💡 Fællesskabs Tips & Hårdt Lærte Lektioner

Baseret på hundredvis af GitHub issues og fællesskabsdiskussioner, her er de virkelige tips der sparer dig tid:

🎯 Hardware Indkøbs Virkeligheds Check

Det Brugte GPU Marked Sweet Spot:

  • RTX 3090 (24GB): Fællesskabets favorit til olmOCR. Bruger ~20GB, efterlader dig 4GB buffer. Solid tilgængelighed på brugtmarkedet
  • RTX 4080 (16GB): Teknisk virker men stramt. Flere brugere rapporterer OOM problemer på komplekse dokumenter
  • Dual GPU Drømme: Stop lige der. Flere brugere prøvede dual RTX 3060 setups - virker ikke, VRAM pooler ikke

Budget Strategi fra Reddit: En bruger satte det perfekt: "Solgte mit dual 3060 setup, købte en brugt 3090. Gik fra 'virker ikke' til 'virker fantastisk' for $200 forskel."

🛠️ Installations Krigshistorier

Miljø Administrations Sandheden:

  • Python 3.11 + conda: 90% succesrate i fællesskabsrapporter
  • Python 3.12 + venv: 30% succesrate, meget dependency helvede
  • Spring 3.9/3.10 over: Flere kompatibilitetsproblemer rapporteret

Dependency Konflikt Overlevelsesguide:

# Denne specifikke rækkefølge betyder noget (hårdt lært af fællesskabet)
conda create -n olmocr python=3.11 -y
conda activate olmocr
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install olmocr[gpu]

🚀 Ydelse Hacks fra Power Brugere

Hukommelse Optimering der Faktisk Virker:

# Fællesskabs-testet sweet spot for RTX 3090
python -m olmocr.pipeline ./workspace \
    --gpu-memory-utilization 0.85 \
    --max_model_len 12288 \
    --workers 2 \
    --pdfs documents/*.pdf

Batch Behandlings Visdom:

  • Små batches (5-10 filer): Hurtigere overordnet, lettere genopretning fra fejl
  • Store batches (50+ filer): Hukommelses lækager rapporteret af fællesskab, genstart lejlighedsvis
  • En Reddit bruger: "Behandl 20 filer, genstart scriptet. Kedeligt men pålideligt."

🐛 Almindelige Fejl Mønstre

"Virker på Demo, Fejler på Rigtige PDF'er" Problemet: Flere brugere rapporterer dette. Rigtig løsning fra GitHub diskussioner:

# Tilføj disse flag for problematiske PDF'er
--target_longest_image_dim 1500 \
--max_page_retries 3 \
--apply_filter

Docker Hukommelse Problemer på Linux: Fællesskabs workaround for Docker hukommelse begrænsninger:

# Tilføj til docker run kommando
--shm-size 8g --ulimit memlock=-1 --ulimit stack=67108864

🆕 Hvad er Nyt i 2025 Opdateringer

Version 0.3.4 Forbedringer (August 2025)

  • Forbedret Auto-Rotation: Bedre detektion af dokument orientering
  • Blank Dokument Håndtering: Eliminerer hallucinationer på tomme sider
  • Ydelse Optimeringer: Hurtigere behandling med reducerede forsøg
  • vLLM Integration: Skiftede fra sglang til vLLM for bedre stabilitet
  • Docker Forbedringer: Opdateret til CUDA 12.8 for seneste GPU support

Model Forbedringer

  • Nye FP8 Modeller: allenai/olmOCR-7B-0825-FP8 for hurtigere inference
  • Nøjagtigheds Gevinster: 3+ point forbedring over tidligere versioner
  • Hukommelses Effektivitet: Reducerede VRAM krav mens kvalitet bevares

🔐 Sikkerheds & Privatlivs Overvejelser

On-Premises Data Beskyttelse

  • Lokal Behandling: Dokumenter forlader aldrig din infrastruktur
  • GDPR Overholdelse: Fuld kontrol over datahåndtering og opbevaring
  • Virksomheds Sikkerhed: Installer bag firewalls og VPN'er
  • Audit Spor: Komplet logging af dokument behandlingsaktiviteter

Adgangskontrol Anbefalinger

# Begræns Docker container netværksadgang
docker run --rm --network none \
    -v /sikre/dokumenter:/documents:ro \
    -v /sikret/output:/output \
    alleninstituteforai/olmocr:latest

🚀 Fremtidssikring af Din Installation

Hold Opdateret

# Check for opdateringer
pip list --outdated | grep olmocr

# Opdater til seneste version
pip install --upgrade olmocr[gpu]

# Opdater Docker image
docker pull alleninstituteforai/olmocr:latest

Overvågning & Vedligeholdelse

  1. Regelmæssige Opdateringer: Månedlige checks for nye udgivelser
  2. Ydelse Overvågning: Spor behandlingshastighed og nøjagtighed
  3. Ressource Forbrug: Overvåg GPU hukommelse og disk plads
  4. Backup Strategier: Regelmæssige backups af behandlede resultater

📚 Yderligere Ressourcer

Officiel Dokumentation & Support

Avancerede Brugscases

  • Akademisk Forskning: Behandling af forskningspapirer og videnskabelige dokumenter
  • Juridiske Dokumenter: Kontrakt og juridisk dokument digitalisering
  • Historiske Arkiver: Digitalisering af gamle dokumenter og manuskripter
  • Finansielle Tjenester: Behandling af formularer og finansielle dokumenter
  • Sundhedspleje: Medicinsk journal digitalisering og behandling

🎉 Afsluttende Tanker

Jeg vil være ærlig – at sætte olmOCR op er ikke trivielt, men det er det værd. Efter at have brugt kommercielle OCR tjenester i årevis og se mine regninger stige, har dette været en game-changer. Nøjagtigheden er genuint bedre end de fleste betalte tjenester, og at køre det lokalt betyder ikke mere bekymring om databeskyttelse eller API begrænsninger.

Her er hvad du kan gøre efter at følge denne guide:

✅ Behandle dokumenter uden at uploade dem nogen steder
✅ Håndtere alt fra simple PDF'er til komplekse scannede dokumenter
✅ Skalere fra enkeltfiler til massive batches uden at gå fallit
✅ Aldrig bekymre dig om API rate begrænsninger igen
✅ Holde dine følsomme dokumenter hvor de hører til – på din infrastruktur

Start med en simpel PDF, se hvordan den performer, så skalér op. Den indledende opsætning tager noget tid, men du takker dig selv senere.

Sidder fast på noget? Discord fællesskabet er ret hjælpsomt: discord.gg/sZq3jTNVNG


❓ Spørgsmål jeg bliver ved med at få

Q: Kan dette håndtere dokumenter på kinesisk/spansk/hvadend?
A: Ja, det virker med flere sprog. Tilføj --apply_filter til ikke-engelsk ting, selvom træningen var mest på engelske dokumenter så YMMV.

Q: Vil dette virke på min RTX 3090?
A: Faktisk, ja! 3090'en virker fantastisk - brugere rapporterer den bruger omkring 20GB af de tilgængelige 24GB. Den er blevet populær i fællesskabet som en omkostningseffektiv mulighed, især på brugtmarkedet.

Q: Er det faktisk bedre end betalte tjenester?
A: I mine tests, ja. Det scorede 78.5% på deres benchmark vs 70% for de fleste kommercielle muligheder. Plus, du ved, det koster ikke $12K per million sider.

Q: Skal jeg bruge Docker?
A: Nej! Docker gør bare installationen lettere. Conda setupet virker fint hvis du foretrækker den rute.

Q: Nogen planer for en GUI?
A: Ikke hvad jeg ved af. Det er kun kommandolinje, men der er en web demo hvis du vil teste filer uden at installere noget.

Q: Fandt en bug, hvad gør jeg?
A: Opret et issue på GitHub. Allen AI teamet er ret responsive.

Q: Nogen planer for multi-GPU support?
A: Dette er den #1 ønskede feature i GitHub issues. For øjeblikket ingen officiel tidslinje, men fællesskabet ønsker det virkelig. For nu er du fast med at skulle bruge et enkelt høj-VRAM kort.

Q: Hvad med Apple Silicon/M-serie Mac?
A: Også meget efterspurgt men ikke understøttet i øjeblikket. Det er kun CUDA for nu. Nogle brugere spørger om MPS support men intet konkret endnu.

Free OLM OCR Team

Free OLM OCR Team