45 lines
2.3 KiB
Markdown
45 lines
2.3 KiB
Markdown
|
|
# `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**
|
||
|
|
|
||
|
|
```xml
|
||
|
|
<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.
|