Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.3 KiB
ki_dok_extrakt — Feldextraktion aus Dokumenten per KI
Zweck: Zieht definierte Felder (Schema) aus einer hochgeladenen PDF-/Textdatei — z. B. Rechnungsnummer, Betrag, IBAN aus einer Eingangsrechnung — und legt sie als Kontextvariablen ab. Pflichtfelder werden validiert; fehlt eines, endet der Task NICHT mit Fehler, sondern setzt <prefix>_ok = 0, damit der Workflow per if in eine manuelle Nacherfassung verzweigen kann. Läuft über die zentrale KI-Kette des Hauses.
Parameter
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
quelle |
ja | — | PDF- oder Textdatei |
schema/feld (name) |
ja | — | Zu extrahierendes Feld; wiederholbar |
feld (typ) |
nein | string |
string, betrag, iban oder datum (Normalisierung + Plausibilitätsprüfung) |
feld (pflicht) |
nein | nein |
ja/true/1 = Pflichtfeld |
feld (hinweis) |
nein | — | Zusatzhinweis für die KI |
max_zeichen |
nein | 20000 |
Dokumenttext auf N Zeichen kürzen (Minimum 1000) |
output_var |
nein | extrakt |
Prefix der Ausgabevariablen |
Feld-Typen: string = Freitext, betrag = "1.234,56" → "1234.56", iban = ohne Leerzeichen, Großschreibung + Format-Check, datum = normalisiert auf d.m.Y (zusätzlich <feld>_iso als Y-m-d).
Eingangswerte: Die Datei unter <quelle> (Platzhalter erlaubt).
Ausgangswerte:
<prefix>_<feldname>— je Schema-Feld (leer wenn nicht gefunden)<prefix>_json— alle Felder als JSON<prefix>_ok—"1"wenn alle Pflichtfelder plausibel gefüllt, sonst"0"<prefix>_fehlend— CSV der fehlenden/unplausiblen Pflichtfelder
XML-Beispiel
<task type="ki_dok_extrakt" id="rechnung_lesen">
<config>
<quelle>{{rechnung_pdf}}</quelle>
<schema>
<feld name="re_nr" typ="string" pflicht="ja" hinweis="Rechnungsnummer"/>
<feld name="betrag_brutto" typ="betrag" pflicht="ja"/>
<feld name="iban" typ="iban"/>
<feld name="datum" typ="datum"/>
</schema>
<output_var>extrakt</output_var>
</config>
</task>
Hinweis: Liefert die Datei keinen extrahierbaren Text (z. B. Scan ohne Textebene) oder ist die KI-Antwort kein parsebares JSON, endet der Task mit Fehler. Fehlende Pflichtfelder dagegen sind kein Fehler, sondern werden über <prefix>_ok signalisiert.