german-ocr-3.1 / README.md
Keyven's picture
Release
86a86b5
---
license: apache-2.0
language:
- de
- en
tags:
- ocr
- vision
- german
- invoice-extraction
- gguf
- llama-cpp
- ollama
pipeline_tag: image-text-to-text
---
# 👁 German-OCR-3.1
> **Das deutsche Vision-OCR-Modell von [Keyvan.ai](https://german-ocr.de) — Teil der German-OCR-3 Kollektion.**
```bash
ollama run Keyvan/german-ocr-3.1
```
---
## Die Geschichte
German-OCR-3 begann als kleine Idee: ein Modell, das **deutsche Geschäftsdokumente**
wirklich versteht — Rechnungen, Briefe, Bescheide, Quittungen, Verträge.
Nicht „auch deutsch", sondern auf deutsche Bürokratie und deutsches Layout spezialisiert.
Die **3.1-Generation** ist die feinabgestimmte, engineered + optimierte Version dieser
Kollektion. Zwei spezialisierte Modelle:
| Modell | Rolle |
|---|---|
| **👁 German-OCR-3.1** *(du bist hier)* | Vision-OCR — Bild rein, sauberes JSON raus |
| 🇩🇪 [**German-Text-3.1**](https://ollama.com/Keyvan/german-text-3.1) | Text-Assistent für Übersetzung, Zusammenfassung, Analyse, Chat |
OCR-3.1 wurde mit harten Regeln für **Halluzinations-Vermeidung** konfiguriert:
lieber `null` als geraten, Originalschreibweise behalten, sender vs. recipient
sauber trennen — das alles ist Pflicht in der Engineering-Konfiguration.
---
## ✨ Was kann das Modell?
**Bild rein → Strukturiertes JSON raus.**
| Doc-Typ | Erkennt |
|---|---|
| 🧾 **Rechnung** | sender, recipient, IBAN, USt-ID, line_items, amount_net/vat/total, due_date, payment_terms |
| 📬 **Brief** | sender, recipient, Betreff, Datum, Aktenzeichen |
| 📋 **Formular** | Felder, Werte, Unterschriften-Felder |
| 🧾 **Quittung** | Händler, Datum, Positionen, Summe, Steuersatz |
| ⚖️ **Bescheid** | Behörde, Aktenzeichen, Empfänger, Betrag, Frist |
| 📄 **Vertrag** | Parteien, Datum, Schlüsselklauseln |
### JSON Output Schema
```json
{
"document_type": "invoice",
"language": "de",
"invoice_number": "...",
"invoice_date": "YYYY-MM-DD",
"due_date": "YYYY-MM-DD",
"sender": {"name": "...", "address": "...", "vat_id": "...", "iban": "..."},
"recipient": {"name": "...", "address": "...", "customer_id": "..."},
"line_items": [
{"position": 1, "description": "...", "quantity": 1, "unit": "Stueck",
"unit_price_net": 0.00, "amount_net": 0.00, "vat_rate": 19}
],
"amount_net": 0.00, "amount_vat": 0.00, "amount_total": 0.00,
"currency": "EUR",
"notes": []
}
```
**Garantien:**
- ✅ JSON-Validität
-`null` statt erfundener Werte (Halluzinations-Stop-Regel)
- ✅ Originalschreibweise + Umlaute
- ✅ ISO-Datum, Punkt-Dezimal, EUR-Code
- ✅ sender ≠ recipient klar getrennt
---
## 🚀 Quick Start
### Ollama (1 Zeile)
```bash
ollama run Keyvan/german-ocr-3.1
```
API mit Bild:
```bash
curl http://localhost:11434/api/chat -d '{
"model": "Keyvan/german-ocr-3.1",
"messages": [{
"role": "user",
"content": "Extrahiere als JSON.",
"images": ["BASE64_IMAGE_HERE"]
}],
"think": false
}'
```
### llama-server (HF GGUF, Two-File-Pattern)
```bash
hf download Keyven/german-ocr-3.1 \
german-ocr-3.1-Q8_0.gguf \
mmproj-german-ocr-3.1-F16.gguf
llama-server \
-m german-ocr-3.1-Q8_0.gguf \
--mmproj mmproj-german-ocr-3.1-F16.gguf \
--port 8080 -ngl 99
```
---
## 📦 Files (auf [HuggingFace](https://huggingface.co/Keyven/german-ocr-3.1))
| File | Größe | Use case |
|---|---|---|
| `german-ocr-3.1-Q4_K_M.gguf` | 941 MB | Compact / Edge |
| `german-ocr-3.1-Q8_0.gguf` | 1.6 GB | ⭐ **Recommended** |
| `german-ocr-3.1-F16.gguf` | 2.9 GB | Full precision |
| `mmproj-german-ocr-3.1-F16.gguf` | 1.3 GB | **Required** für Vision (llama-server) |
> **Hinweis**: Über Ollama Hub bekommst du das Modell als single-package mit Vision —
> der mmproj-Sidecar wird nur für die manuelle llama-server-Route benötigt.
---
## 🛠 Hardware
| Variant | RAM (CPU) | VRAM (GPU) |
|---|---|---|
| Q4 + Vision | 4 GB | 4 GB |
| Q8 + Vision | 6 GB | 6 GB |
| F16 + Vision | 10 GB | 10 GB |
GPU empfohlen für Echtzeit-OCR. Context: **32 768 Tokens**.
---
## 🤝 German-OCR Familie
| | Was | Wo |
|---|---|---|
| 👁 **German-OCR-3.1** | Vision-OCR (du bist hier) | [ollama.com](https://ollama.com/Keyvan/german-ocr-3.1) · [HF](https://huggingface.co/Keyven/german-ocr-3.1) |
| 🇩🇪 **German-Text-3.1** | Text-Assistent | [ollama.com](https://ollama.com/Keyvan/german-text-3.1) · [HF](https://huggingface.co/Keyven/german-text-3.1) |
| ☁️ **German-OCR Cloud API** | Managed Service mit höherer Genauigkeit | [german-ocr.de](https://german-ocr.de) |
| 📝 **German-OCR for Word** | Office Add-in | [office.german-ocr.de](https://office.german-ocr.de) |
---
## 📜 License & Credits
**Apache License 2.0** — kommerzielle Nutzung mit Attribution erlaubt.
**NOTICE**: Aufgebaut auf [Qwen3.5](https://qwenlm.github.io/) von Alibaba Cloud.
Die German-OCR-3.1-Kollektion ist eine in Deutschland engineered + optimierte
Distribution für deutsche Geschäftsdokumente. Architecture credit: Qwen Team.
Build mit ❤️ in 🇩🇪 von **[Keyvan Hardani](https://german-ocr.de)**.