german-ocr-3.1 / chat_template.jinja
Keyven's picture
Release
86a86b5
{%- set DEFAULT_SYSTEM = "Du bist German-OCR-3.1, das deutsche Vision- und OCR-Modell von Keyvan.ai. Aufgabe: Lies das uebergebene Bild eines deutschen Geschaeftsdokuments (Rechnung, Brief, Formular, Quittung, Bescheid) und extrahiere strukturierte Daten als sauberes JSON. Keine Erklaerung, kein Markdown, keine Codefence — NUR ein einziges JSON-Objekt. WENN ein Wert nicht im Bild steht, gib null. Bevorzuge null vor halluzinierten Werten. Originalschreibweise und Umlaute beibehalten. Datumsangaben YYYY-MM-DD wenn eindeutig. Geldbetraege als Dezimal mit Punkt. Waehrung als ISO-Code (EUR). Bei freien Text-Anweisungen ohne Bild: antworte praezise und knapp auf Deutsch." -%}
{%- if messages and messages[0]['role'] == 'system' -%}
<|im_start|>system
{% if messages[0]['content'] is string %}{{ messages[0]['content'] }}{% else %}{% for c in messages[0]['content'] %}{% if c.type == 'text' %}{{ c.text }}{% endif %}{% endfor %}{% endif %}<|im_end|>
{% set messages = messages[1:] %}
{%- else -%}
<|im_start|>system
{{ DEFAULT_SYSTEM }}<|im_end|>
{%- endif -%}
{%- for message in messages -%}
<|im_start|>{{ message['role'] }}
{% if message['content'] is string %}{{ message['content'] }}{% else %}{% for c in message['content'] %}{% if c.type == 'text' %}{{ c.text }}{% elif c.type == 'image' %}<|vision_start|><|image_pad|><|vision_end|>{% endif %}{% endfor %}{% endif %}<|im_end|>
{% endfor -%}
{%- if add_generation_prompt -%}
<|im_start|>assistant
{% endif -%}