Mittelstufe 11 Min.Dokumente

DeepSeek-OCR lokal: seine PDFs lesen gescannt

DeepSeek-OCR ist ein Vision-Modell mit etwa 3 Milliarden Parametern, das unter der MIT-Lizenz veröffentlicht wurde und dafür entwickelt wurde, das Bild einer Seite in strukturierten Text einschließlich Markdown umzuwandeln. Dieser Leitfaden zeigt, wie Sie deepseek ocr lokal mit Ollama ausführen: welche Runtime-Version, wie viel Speicher einzuplanen ist, wie Sie ein gescanntes PDF in Seiten aufteilen und verwertbares Markdown für ein RAG erhalten. Er endet mit den Fällen, in denen ein einfacheres Tool bessere Ergebnisse liefert.

Von Léa B.·Aktualisierung 2026-10-07·Unter Windows, macOS und Linux getestet

#Warum DeepSeek-OCR statt einer herkömmlichen OCR

Ein gescanntes PDF enthält keinen Text, sondern nur Bilder von Text. Eine klassische OCR-Engine wie Tesseract extrahiert daraus rohe Zeilen: Sie weiß nicht, dass ein Block eine Überschrift ist, zerlegt Tabellen und verliert bei einer zweispaltigen Seite die Lesereihenfolge. DeepSeek-OCR geht das Problem anders an. Es ist ein Vision-Language-Modell: Es betrachtet die gesamte Seite und erzeugt anschließend direkt Markdown mit seinen Überschriften, Listen, Tabellen und Formeln.

Das Modell wurde von DeepSeek im Herbst 2025 zusammen mit einem Artikel mit dem Titel « Contexts Optical Compression » veröffentlicht. Die zentrale Idee besteht darin, eine Seite je nach Auflösungsmodus durch eine kleine Anzahl visueller Token – zwischen 64 und 400 – darzustellen, statt durch die Tausenden Text-Token, die sie enthalten würde. Der Herausgeber gibt eine Dekodierungsgenauigkeit von etwa 97 % an, wenn das Kompressionsverhältnis unter zehn bleibt. Das ist seine Zahl, gemessen mit seinen eigenen Datensätzen, nicht unsere: Entscheidend ist vor allem, dass das Modell für seine Aufgabe leichtgewichtig und schnell ist.

Für die lokale Nutzung sind drei Dinge entscheidend. Das Modell passt auf eine Grafikkarte der Einstiegsklasse. Es gibt Markdown aus, das sich unverändert in eine RAG-Pipeline indexieren lässt. Und es ist in der Bibliothek Ollama verfügbar, sodass Sie PyTorch, Flash Attention und vLLM nicht wie beim offiziellen Repository installieren müssen. Die vollständigen Spezifikationen finden Sie im Modelldatenblatt: https://quelllm.fr/modele/deepseek-ocr

#Voraussetzungen und einzuplanender Speicher

Das RAG-Local-Kit

Ihre Dokumente, Ihre KI: ein zuverlässiges lokales RAG für Ihre PDFs, Notizen und E-Mails – ohne Daten in die Cloud zu senden.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Lebenslange Updates

Die Modellseite der Website nennt VRAM-Richtwerte je nach Genauigkeit: etwa 2 GB in Q4, 4 GB in Q8 und 6 GB in FP16, bei einem Kontext von 8 192 Tokens. Die tatsächlich herunterzuladende Größe hängt davon ab, was Ollama im Tag verpackt hat; die Tag-Seite der Bibliothek zeigt die Dateigröße an, und diese ist maßgeblich. Hinzu kommt der Speicher für den Kontext: Eine dichte Seite, die in Markdown umgewandelt wird, kann mehrere tausend Ausgabe-Tokens erzeugen.

NVIDIA-GPU
Jede Karte mit 8 GB oder mehr bietet ausreichend Spielraum. Eine RTX 3060 mit 12 GB oder eine RTX 4070 mit 12 GB führt das Modell in FP16 mit Spielraum für den Kontext aus.
Mac mit Apple Silicon
Ollama verwendet den Unified Memory. Ein Mac mit 16 GB reicht allein für das Modell; rechnen Sie mit 24 GB, wenn Sie für RAG zusätzlich ein Chatmodell geladen halten möchten.
Ohne GPU
Möglich, aber die Bildkodierung und die Erstellung des Markdown erfolgen auf dem Prozessor. Für einige Seiten ist das vertretbar; bei einem Stapel von hundert Seiten müssen Sie je nach Rechner mit Minuten pro Seite rechnen.
Software
Ollama auf dem neuesten Stand, poppler-utils zum Aufteilen von PDFs und Python 3 mit der Bibliothek ollama, wenn Sie die Verarbeitung im Stapel automatisieren möchten.
i
Dieser Guide misst nichts
Hier wird weder ein Durchsatz in Seiten pro Minute noch ein Genauigkeitswert angegeben. Die genannten Zahlen stammen aus der Veröffentlichung von DeepSeek. Die Qualität bei Ihren Dokumenten hängt von der Scanauflösung, der Sprache und dem Layout ab: Testen Sie vor der Verarbeitung eines Stapels zwanzig repräsentative Seiten.

#Schritt 1: Ollama prüfen und den richtigen Tag abrufen

DeepSeek-OCR ist Ende 2025 in die Bibliothek Ollama aufgenommen worden, nach der Veröffentlichung des Modells. Es basiert auf einem speziellen visuellen Encoder, DeepEncoder, der ein Modul für lokale Fenster und ein Modul für globale Aufmerksamkeit kombiniert. Ollama musste die Unterstützung für diese Architektur in seine Engine integrieren: Eine ältere Laufzeitumgebung lädt die Gewichte herunter, weigert sich aber, sie zu laden, und zeigt eine Meldung an, dass das Modell eine neuere Version benötigt. Die Bibliotheksseite zeigt die erforderliche Mindestversion an, sofern dies zutrifft.

Terminal
# Version installée (comparez avec la version minimale affichée sur ollama.com/library/deepseek-ocr)
ollama -v

# Récupérer le modèle (le tag 3b est celui référencé par la fiche modèle)
ollama pull deepseek-ocr:3b

# Vérifier l'architecture, le contexte et la quantification empaquetée
ollama show deepseek-ocr:3b

Der Befehl show ist die einzige verlässliche Quelle dafür, was Sie gerade heruntergeladen haben: Er gibt die Modellfamilie, die Parameteranzahl, die Kontextlänge und den Quantisierungsgrad an. Wenn der Tag latest und der Tag 3b auf denselben Digest verweisen, spielt es keine Rolle, welchen Sie verwenden; der Leitfaden verwendet 3b, um eindeutig zu bleiben.

!
Aktualisieren Sie Ollama, bevor Sie weiter suchen
Wenn das Modell heruntergeladen wird, aber beim Laden fehlschlägt, oder wenn Ollama mit Text antwortet, ohne das Bild zu berücksichtigen, ist die häufigste Ursache eine zu alte Laufzeitumgebung. Starten Sie unter Linux das offizielle Installationsskript erneut; unter Windows und macOS aktualisiert sich die Anwendung selbst oder über das Menü. Führen Sie anschließend ollama -v erneut aus.

#Schritt 2: Die PDF-Seiten vorbereiten

Ollama öffnet keine PDFs. Es akzeptiert pro Anfrage ein Bild im PNG- oder JPEG-Format. Der erste Schritt besteht daher darin, das Dokument Seite für Seite zu rastern. Das einfachste Tool ist pdftoppm, das mit poppler-utils bereitgestellt wird und in allen Linux-Distributionen sowie über Homebrew unter macOS verfügbar ist.

Terminal
# Debian/Ubuntu : sudo apt install poppler-utils
# macOS : brew install poppler
# Arch : sudo pacman -S poppler

mkdir -p pages
pdftoppm -r 200 -png scan.pdf pages/page
ls pages
# pages/page-1.png  pages/page-2.png  ...  (numérotation complétée par des zéros selon le nombre de pages)

Die Auflösung verdient eine kurze Überlegung. DeepSeek-OCR arbeitet je nach Modus mit festen Auflösungen: 512, 640, 1024 oder 1280 Pixel Seitenlänge sowie mit einem dynamischen Modus namens Gundam, der die Seite rund um eine globale Ansicht mit 1024 Pixeln in Kacheln von 640 Pixeln aufteilt. Eine bei 200 Punkten pro Zoll gerasterte A4-Seite ist ungefähr 1 650 × 2 340 Pixel groß; Ollama skaliert sie vor dem Senden an den Encoder herunter. Eine Erhöhung auf 300 Punkte pro Zoll bringt dem Modell nichts und vergrößert die Dateien unnötig. Eine Verringerung auf 100 lässt die kleinen Zeichen in Fußnoten verschwinden, noch bevor das Modell sie sieht.

Wenn der Scan schief oder sehr kontrastreich ist, kommt das Modell in der Regel besser zurecht als eine zeilenweise OCR, aber eine vorherige Begradigung ist weiterhin hilfreich. Der Tesseract-Leitfaden der Website erläutert die nützlichen Vorverarbeitungsschritte, die auch hier gelten: https://quelllm.fr/guide/tesseract-ocr-guide-local

#Schritt 3: Mit deepseek ocr Markdown erzeugen

Das offizielle Repository dokumentiert mehrere Anweisungen, von denen jede ein anderes Modellverhalten auslöst. Die beiden wichtigsten sind „Convert the document to markdown.“ für eine strukturierte Konvertierung und „Free OCR.“ für eine rohe Transkription ohne Formatierung. Die Anweisungen sind im Training auf Englisch; lassen Sie sie unverändert, der erkannte Text wird in der Sprache des Dokuments ausgegeben. Beim Kommandozeilenclient wird der Bildpfad direkt in den Prompt gesetzt.

Terminal
# Conversion structurée (titres, listes, tableaux)
ollama run deepseek-ocr:3b "Convert the document to markdown. ./pages/page-1.png"

# Transcription brute, sans structure
ollama run deepseek-ocr:3b "Free OCR. ./pages/page-1.png"

Derselbe Vorgang über die lokale API, die standardmäßig auf http://localhost:11434 lauscht, codiert das Bild im Feld images als Base64. Dies ist der bevorzugte Weg, sobald Sie Seiten aneinanderreihen oder das Modell aus einem anderen Programm aufrufen.

Terminal
# Linux (GNU coreutils). Sur macOS, remplacez base64 -w0 par base64 -i pages/page-1.png
curl http://localhost:11434/api/generate -d "{
  \"model\": \"deepseek-ocr:3b\",
  \"prompt\": \"Convert the document to markdown.\",
  \"images\": [\"$(base64 -w0 pages/page-1.png)\"],
  \"stream\": false,
  \"options\": { \"num_ctx\": 8192, \"temperature\": 0 }
}"

Zwei Optionen sollten festgelegt werden. Die Temperatur null macht die Ausgabe reproduzierbar, was man von einer OCR erwartet. Der Kontext von 8 192 Token entspricht der Modellgrenze; darunter kann eine dichte Seite mitten in einer Tabellenzelle abgeschnitten werden. Das offizielle Repository erwähnt außerdem spezielle Anweisungen zum Beschreiben einer Abbildung oder zum Lokalisieren von Text anhand von Koordinaten; für ein einfaches zu indizierendes PDF sind sie wenig nützlich.

→
Testen Sie beide Anweisungen auf derselben Seite
Bei einer Seite mit einfachem Fließtext liefert Free OCR oft ein saubereres und schnelleres Ergebnis. Bei einer Seite mit einer Zahlentabelle oder mehreren Überschriftenebenen rechtfertigt die Markdown-Konvertierung ihren Mehraufwand. Wählen Sie je nach Dokumenttyp und nicht ein für alle Mal.

#Schritt 4: Eine vollständige PDF-Datei verarbeiten

Für ein Dokument mit mehreren Dutzend Seiten genügt ein wenige Zeilen langes Python-Skript. Es durchläuft die Bilder in numerischer Reihenfolge, ruft Ollama Seite für Seite auf, entfernt die Lokalisierungs-Tags, die das Modell einfügen kann, und fügt alles in einer einzigen Markdown-Datei mit einem Marker pro Seite zusammen. Der Marker ist anschließend nützlich, um die Quellseite einer von Ihrem RAG zitierten Passage wiederzufinden.

Terminal
pip install ollama
ocr_pdf.py
import pathlib
import re
import ollama

MODEL = "deepseek-ocr:3b"
PROMPT = "Convert the document to markdown."

# Tri numérique : page-2 avant page-10
pages = sorted(
    pathlib.Path("pages").glob("page-*.png"),
    key=lambda p: int(re.search(r"(\d+)", p.stem).group(1)),
)

parts = []
for page in pages:
    r = ollama.generate(
        model=MODEL,
        prompt=PROMPT,
        images=[str(page)],
        options={"num_ctx": 8192, "temperature": 0},
    )
    md = r["response"]
    # Balises de localisation éventuelles : on garde le texte, on jette les coordonnées
    md = re.sub(r"<\|ref\|>(.*?)<\|/ref\|><\|det\|>.*?<\|/det\|>", r"\1", md, flags=re.S)
    parts.append(f"<!-- {page.name} -->\n{md.strip()}\n")
    print(f"{page.name} : {len(md)} caractères")

pathlib.Path("scan.md").write_text("\n\n".join(parts), encoding="utf-8")

Jeder Aufruf ist unabhängig: Das Modell behält keinerlei Speicher der vorherigen Seite. Das ist eine Einschränkung für Tabellen, die sich über zwei Seiten erstrecken, und ein Vorteil für die Robustheit, da eine fehlgeschlagene Seite keine andere beeinträchtigt. Ollama lädt das Modell einmal und behält es zwischen den Aufrufen im Speicher, abhängig vom Wert der Variable OLLAMA_KEEP_ALIVE; Sie bezahlen die Ladezeit nur am Anfang des Stapels.

Wenn Ihre Karte noch Reserven hat, können Sie mit der Option OLLAMA_NUM_PARALLEL mehrere Seiten gleichzeitig verarbeiten, wobei für jeden Kontext zusätzlicher VRAM benötigt wird. Auf einer 12-GB-Karte bleiben zwei parallele Anfragen mit einem Modell dieser Größe vernünftig; prüfen Sie mit nvidia-smi, dass Sie den Systemspeicher nicht überschreiten, da die Geschwindigkeit dann drastisch einbricht.

#Schritt 5: Die Ausgabe bereinigen und prüfen

Das erzeugte Markdown ist gut lesbar, aber nicht unbedingt unverändert gut zu indexieren. Prüfen Sie vor der Übertragung in eine Vektordatenbank drei Punkte.

  1. 01
    Übrig gebliebene Tags
    Mit der Konvertierungsanweisung wird das Modell mit einem Lokalisierungstoken trainiert und kann Koordinaten zwischen ref- und det-Tags zurückgeben. Das obige Skript entfernt sie. Vergewissern Sie sich, dass auch kein Bild-Tag und kein Fragment einer Anweisung am Dateianfang übrig bleibt.
  2. 02
    Zahlen und Tabellen
    Ein Vision-Language-Modell erzeugt Text und kann daher in einer unleserlichen Zelle einen plausiblen Wert erfinden, wo ein klassisches OCR lediglich ein fehlerhaftes Zeichen hinterlassen hätte. Öffnen Sie Finanz- oder technische Tabellen neben dem Scan und vergleichen Sie jede zehnte Zeile. Bei Rechnungen erklärt der entsprechende Leitfaden auf der Website, wie Sie sie mit Summen abgleichen: https://quelllm.fr/guide/extraction-factures-ocr-llm
  3. 03
    Kopf- und Fußzeilen
    Seitenzahlen, Dokumentname und wiederholte rechtliche Hinweise: Sie erscheinen auf jeder Seite und verunreinigen die Aufteilung in Segmente. Ein regulärer Ausdruck für identische Zeilen, die auf mehr als der Hälfte der Seiten vorkommen, reicht normalerweise aus, um sie zu entfernen.
  4. 04
    Französische Akzente und Typografie
    Der Herausgeber kündigt ein Training mit etwa hundert Sprachen an. Kontrollieren Sie dennoch anhand einer Stichprobe die Akzentbuchstaben, die französischen Anführungszeichen und die geschützten Leerzeichen vor doppelten Satzzeichen: Dort verbergen sich die unauffälligen Fehler, die anschließend eine lexikalische Suche verfälschen.

Sobald die bereinigte Datei vorliegt, gelangt sie wie jedes andere Markdown-Dokument in eine RAG-Kette: Aufteilung nach Überschriften, Embeddings, Vektordatenbank. Die Einführung in lokales RAG auf der Website beschreibt diese Schritte: https://quelllm.fr/guide/rag-local-introduction

#Beschränkungen und Troubleshooting

Das Modell antwortet, ohne das Bild anzusehen
Entweder ist Ollama für diese Architektur zu alt, oder das Bild wurde nicht übergeben. In der Befehlszeile muss der Pfad absolut oder relativ zum aktuellen Verzeichnis sein, ohne Anführungszeichen um den Pfad selbst. Prüfen Sie bei der API, dass das Feld images tatsächlich Base64 ohne Zeilenumbruch enthält.
Ausgabe mitten in einer Tabelle abgeschnitten
Der Kontext ist für die Seite zu kurz. Setzen Sie num_ctx auf 8192, falls das noch nicht geschehen ist. Wenn die Seite weiterhin zu groß ist, teilen Sie sie mit einer Überlappung von einigen Zeilen in zwei Bilder, oben und unten.
Seite in falscher Reihenfolge gelesen
Bei einem dreispaltigen Layout oder einem Formular mit Kästchen kann das Modell die Blöcke vermischen. Versuchen Sie die Free-OCR-Anweisung, die der räumlichen Reihenfolge einfacher folgt, oder verwenden Sie Docling, dessen Layoutanalyse explizit ist.
Ungewöhnliche Langsamkeit
Prüfen Sie mit ollama ps, ob das Modell tatsächlich auf der GPU und nicht teilweise auf dem Prozessor geladen ist. Ein zu großer Kontext oder ein zweites geladenes Modell können dazu führen, dass es in den Systemspeicher ausweicht.
Handschriftlicher Text
DeepSeek-OCR wurde mit gedruckten Dokumenten und Seitenrenderings trainiert. Bei handschriftlichen Texten schwanken die Ergebnisse stark; verlassen Sie sich ohne vorherigen Test nicht darauf.
Lange Dokumente und Kontext über mehrere Seiten hinweg
Jede Seite wird isoliert verarbeitet. Eine Tabelle, die auf der nächsten Seite fortgesetzt wird, verliert ihre Kopfzeilen; diese müssen von Hand oder mit einer Nachbearbeitungsregel wieder eingefügt werden.
i
Eine zweite Version ist verfügbar
DeepSeek hat Anfang 2026 eine zweite Version des Modells, DeepSeek-OCR-2, mit einem überarbeiteten Encoder veröffentlicht. Zum Zeitpunkt der Erstellung konnten wir nicht bestätigen, dass sie in der Bibliothek Ollama vorhanden ist. Sehen Sie vor der Auswahl auf der Hugging-Face-Seite des Herausgebers und auf der Modellseite der Website nach; die hier beschriebene Methode bleibt dieselbe.

#Wenn PaddleOCR, Docling oder Tesseract ausreichen

DeepSeek-OCR ist nicht die Antwort auf jeden Scan. Seine Stärke zeigt sich, wenn die Seite eine zu bewahrende Struktur hat und Sie Markdown möchten, ohne eine Pipeline zusammenzubauen. In vielen gängigen Fällen erledigt ein einfacheres oder spezialisierteres Werkzeug die Aufgabe ebenso gut – mit weniger Ressourcen und geringerem Erfindungsrisiko.

Tesseract
Sauberer, gedruckter Text auf weißem Hintergrund in großer Menge, wobei Sie nur den Text benötigen. Er läuft auf dem Prozessor, erzeugt nichts und erfindet daher auch nichts. Leitfaden: https://quelllm.fr/guide/tesseract-ocr-guide-local
PaddleOCR
Text, der irgendwo auf der Seite platziert ist, schräg eingescannte Dokumente, Tabellen, die vor dem Auslesen mit einem ausdrücklichen Erkennungsschritt rekonstruiert werden müssen. Auch seine VL-Variante ist ein Vision-Modell, kleiner als DeepSeek-OCR. Leitfaden: https://quelllm.fr/guide/paddleocr-vl-ocr-local
Docling
Native PDFs, DOCX-Dateien, Präsentationen: Dokumente, die bereits Text enthalten und bei denen vor allem Layout und Tabellen übernommen werden müssen. Docling kann für Bildseiten eine OCR-Engine aufrufen, sein Kern ist jedoch die Strukturanalyse. Anleitung: https://quelllm.fr/guide/docling-conversion-documents-ia
DeepSeek-OCR
Scans oder Fotos von Seiten mit Überschriften, Listen, Tabellen oder Formeln sowie der Bedarf an indexierbarem Markdown in einem einzigen Durchlauf auf einer bescheidenen Grafikkarte.

Ein Kriterium gibt oft den Ausschlag: Wenn ein Fehler in einer Zahl Folgen hat, bevorzugen Sie ein Tool, das erkennt, ohne zu generieren, oder lassen Sie die Erkennung von einer zweiten Engine überprüfen und vergleichen Sie die Ausgaben. Wenn es vorrangig darum geht, einen heterogenen Dokumentenbestand lesbar und durchsuchbar zu machen, spart das Markdown von DeepSeek-OCR bei jedem weiteren Schritt Zeit.

#Weiterführende Informationen

Modell-Datenblatt DeepSeek-OCR
Parameter, VRAM je Präzision, Lizenz und Installationsbefehl. https://quelllm.fr/modele/deepseek-ocr
Ollama installieren
Die Installation unter Windows, macOS und Linux, die grundlegenden Befehle und die Fehlerbehebung. https://quelllm.fr/guide/installer-ollama
Lokales RAG ohne Programmieren
Verbinden Sie das erhaltene Markdown mit Open WebUI oder AnythingLLM, um Ihre Dokumente abzufragen. https://quelllm.fr/guide/rag-local-ollama-sans-coder
Offizielle Quellen
GitHub-Repository deepseek-ai/DeepSeek-OCR (Code, Anweisungen, vLLM-Skripte für PDF), Hugging-Face-Seite deepseek-ai/DeepSeek-OCR (Gewichte und MIT-Lizenz), Seite Ollama ollama.com/library/deepseek-ocr (Tags, Größe und Mindestversion).
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.