190 Downloads Updated 1 month ago
ollama run Keyvan/german-ocr-turbo-fc
Strukturierte Datenextraktion aus deutschen Dokumenten
Extrahiert Rechnungen, Formulare und Dokumente automatisch als JSON - bereit für Ihre Workflows.
German-OCR-Turbo-FC analysiert Dokumente und gibt strukturiertes JSON zurück:
{
"type": "invoice",
"invoice_number": "12345",
"sender": {"name": "Firma GmbH", "iban": "DE89..."},
"items": [{"description": "Leistung", "total": 102.00}],
"totals": {"subtotal": 612.00, "tax": 116.00, "total": 728.00}
}
Use Cases: - Rechnungen automatisch in Buchhaltungssoftware importieren - Formulardaten extrahieren und weiterverarbeiten - Dokumente für Datenbanken aufbereiten
| Typ | Extrahierte Felder |
|---|---|
| Rechnung | Nummer, Datum, Sender, Empfänger, Positionen, Summen, IBAN |
| Formular | Titel, Felder mit Labels und Werten, Ausgefüllt-Status |
| Vertrag | Parteien, Daten, Klauseln |
| Ausweis | Alle sichtbaren Felder |
ollama pull Keyvan/german-ocr-turbo-fc
ollama run Keyvan/german-ocr-turbo-fc "Extrahiere die Daten" [img]/pfad/zur/rechnung.png[/img]
import ollama
import json
response = ollama.chat(
model='Keyvan/german-ocr-turbo-fc',
messages=[{
'role': 'user',
'content': 'Analysiere diese Rechnung',
'images': ['rechnung.png']
}]
)
# JSON parsen
content = response['message']['content']
# Entferne ```json und ``` falls vorhanden
if content.startswith('```'):
content = content.split('\n', 1)[1].rsplit('```', 1)[0]
data = json.loads(content)
print(f"Rechnungsnummer: {data['invoice_number']}")
print(f"Gesamtbetrag: {data['totals']['total']} EUR")
import ollama
import json
def process_invoice(image_path):
response = ollama.chat(
model='Keyvan/german-ocr-turbo-fc',
messages=[{
'role': 'user',
'content': 'Extrahiere alle Rechnungsdaten als JSON',
'images': [image_path]
}]
)
content = response['message']['content']
if '```json' in content:
content = content.split('```json')[1].split('```')[0]
return json.loads(content)
# Verwendung
invoice = process_invoice('rechnung.png')
# Automatisch in Buchhaltung importieren
if invoice['totals']['total'] > 500:
print(f"Hohe Rechnung: {invoice['totals']['total']} EUR von {invoice['sender']['name']}")
{
"type": "invoice",
"invoice_number": "string",
"date": "YYYY-MM-DD",
"sender": {
"name": "string",
"address": "string",
"iban": "string",
"tax_id": "string"
},
"recipient": {
"name": "string",
"address": "string"
},
"items": [{
"description": "string",
"quantity": "number",
"price": "number",
"total": "number"
}],
"totals": {
"subtotal": "number",
"tax": "number",
"total": "number"
}
}
{
"type": "form",
"title": "string",
"fields": [{
"label": "string",
"value": "string",
"filled": "boolean"
}]
}
Apache 2.0
Keyvan Hardani - keyvan.ai
Made with structured output in Germany