Die AIUtils stehen nur zur Verfügung, wenn man das Modul "KI-Assistent" lizenziert hat.
Das erstellte StructuredOutputConfig-Objekt wird anschließend als Parameter an executePrompt oder executeCustomPrompt übergeben, um die KI anzuweisen, die Antwort im JSON-Format gemäß diesem Schema zu liefern.
Version 2026.6
Code
AIStructuredOutputConfig createStructuredConfig()
Beschreibung
Erzeugt eine leere Konfiguration für strukturierte KI-Antworten.
Mit dieser Konfiguration definieren Sie, welche Felder, Datentypen und Beschreibungen die KI in ihrer Antwort liefern soll. Die Konfiguration selbst führt noch keinen KI-Aufruf aus, sondern dient als Vorlage für executePrompt oder executeCustomPrompt.
Die Konfiguration wird dabei nicht als frei formulierter Text verwendet, sondern vom System intern in eine strukturierte Vorgabe für das LLM übersetzt (JsonSchema). Dadurch erhält das Modell die Information, welche Felder erwartet werden, welche Datentypen diese haben und wie die Antwort als JSON aufgebaut sein soll.
Die eigentliche Felddefinition erfolgt anschließend über Methoden wie addString, addInt, addDouble, addBoolean, addObject oder die jeweiligen Listen-Methoden.
Parameter
Diese Methode besitzt keine Parameter.
Rückgabe
Die Methode gibt eine leere AIStructuredOutputConfig zurück.
Diese Konfiguration kann anschließend über Methoden wie addString, addInt, addDouble, addBoolean, addObject sowie die Listen-Methoden erweitert und danach in executePrompt oder executeCustomPrompt verwendet werden.
Beispiele
1. Einfache Konfiguration für strukturierte Antwort
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addString(
config,
"customerName",
false,
"Vollständiger Name des Kunden"
)
AIUtils.addDouble(
config,
"totalAmount",
true,
"Gesamter Rechnungsbetrag in Euro. Wenn kein Betrag erkennbar ist, Feld weglassen.",
0.0d
)
2. Verwendung in einem KI-Aufruf
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addString(
config,
"status",
false,
"Klassifizierung der Anfrage"
)
Map<String, Object> systemVars = [:]
Map<String, Object> userVars = ["text": "Ich habe mein Passwort vergessen."]
IAIResult result = AIUtils.executePrompt("AnalyseCheck", config, systemVars, userVars)
if (AIUtils.isAIResponseSuccessful(result)) {
Map<String, Object> data = AIUtils.getAIStructuredResponse(result)
String status = data.get("status")
} else {
String errorMessage = AIUtils.getAIResponseError(result)
}
3. Verschachtelte Objekte definieren
AIStructuredOutputConfig addressConfig = AIUtils.createStructuredConfig()
AIUtils.addString(addressConfig, "city", false, "Stadt der Person")
AIUtils.addString(addressConfig, "country", true, "Land der Person", "Deutschland")
AIStructuredOutputConfig contactConfig = AIUtils.createStructuredConfig()
AIUtils.addString(contactConfig, "fullName", false, "Vollständiger Name der Person")
AIUtils.addObject(contactConfig, "address", true, "Adresse der Person", addressConfig)
Version 2026.4
Code
StructuredOutputConfig createStructuredConfig();
Beschreibung
Erstellt ein neues, leeres Konfigurationsobjekt für strukturierten Output. Dieses Objekt dient als Container, in dem über Methoden wie AIUtils.addExpectedReturn das gewünschte Antwortschema (Felder, Datentypen, Beschreibungen) definiert wird.
Rückgabe
Ein neues Objekt vom Typ StructuredOutputConfig.
Beispiele
Initialisierung und Konfiguration eines Schemas
// 1. Neues, leeres Konfigurationsobjekt erstellen
def config = AIUtils.createStructuredConfig();
// 2. Felder zum Schema hinzufügen (Name, Typ, Pflichtfeld, Default, Beschreibung)
AIUtils.addExpectedReturn(config, "customerName", String.class, false, "Unbekannt", "Der Name des Kunden");
AIUtils.addExpectedReturn(config, "isHappy", Boolean.class, false, true, "Zufriedenheit des Kunden");
// 3. Verwendung beim Ausführen eines Prompts
IAIResult result = AIUtils.executePrompt("FeedbackAnalyse", config, [:], [:], null);
if (AIUtils.isAIResponseSuccessful(result)) {
Map data = AIUtils.getAIStructuredResponse(result);
// Zugriff auf die Daten
String name = data.get("customerName");
}