Files

39 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# `ki_auftrag` — Freitext-Auftrag an die KI
**Zweck:** Macht die zentrale KI-Kette des Hauses als Workflow-Baustein nutzbar: klassifizieren, zusammenfassen, Text entwerfen. Optional wird der Inhalt einer Datei (PDF → Textextraktion) oder einer Kontextvariable als Material an den Prompt angehängt. Alle KI-Aufrufe laufen über die zentrale KI-Kette — keine eigenen LLM-Calls in Tasks.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `prompt` | **ja** | — | Auftrag an die KI |
| `rolle` | nein | *(leer)* | Rollenbeschreibung, wird dem Prompt vorangestellt |
| `eingabe_datei` | nein | — | PDF-/Textdatei als Material (PDF wird per Textextraktion gelesen) |
| `eingabe` | nein | — | Kontextvariable als Material |
| `max_zeichen` | nein | `20000` | Material auf N Zeichen kürzen (Minimum 500) |
| `format` | nein | `text` | `text`, `einwort` (erstes Wort, kleingeschrieben) oder `json` |
| `output_var` | nein | `ki_antwort` | Prefix der Ausgabevariablen |
**Eingangswerte:** Platzhalter in allen Parametern; Material aus `<eingabe_datei>` (Datei) und/oder `<eingabe>` (Variable).
**Ausgangswerte:**
- `<output_var>` — Antworttext (bei `format=einwort` das erste Wort, kleingeschrieben)
- `<output_var>_data` — nur bei `format=json` und parsebarer Antwort: die Struktur
**XML-Beispiel**
```xml
<task type="ki_auftrag" id="klassifizieren">
<config>
<prompt>Klassifiziere das Schreiben. Antworte mit GENAU einem Wort:
antrag, beschwerde, rechnung oder info.</prompt>
<rolle>Du bist ein erfahrener Verwaltungssachbearbeiter.</rolle>
<eingabe_datei>{{posteingang_pdf}}</eingabe_datei>
<format>einwort</format>
<output_var>dok_klasse</output_var>
</config>
</task>
```
**Hinweis:** Scheitern alle KI-Backends der Kette, endet der Task mit Fehler. Bei `format=json` wird versucht, JSON auch aus Markdown-Zäunen zu extrahieren.