Die AIUtils stehen nur zur Verfügung, wenn man das Modul "KI-Assistent" lizenziert hat.
Version 2026.6
Code
IAIResult executeCustomPrompt(String modelPlainKey, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, IAIPrompt systemPrompt, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, AIStructuredOutputConfig structuredOutput, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, AIStructuredOutputConfig structuredOutput, IAIPrompt systemPrompt, IAIPrompt userPrompt);
Beschreibung
Führt einen frei definierten Benutzer-Prompt mit einem bestimmten KI-Modell aus. Optional kann zusätzlich ein System-Prompt übergeben werden, um Verhalten, Rolle oder Antwortstil des Modells vorzugeben.
Im Unterschied zu executePrompt basiert executeCustomPrompt nicht auf einer Vorlage aus der Eingabe-Verwaltung, sondern arbeitet direkt mit übergebenen IAIPrompt-Objekten.
Optional kann außerdem eine AIStructuredOutputConfig übergeben werden. Damit wird die KI-Antwort in ein strukturiertes JSON-Format geführt, das anschließend programmatisch weiterverarbeitet werden kann.
Die Methode liefert immer ein IAIResult zurück. Im Erfolgsfall enthält es die Antwort der KI. Im Fehlerfall enthält es einen Fehlerstatus und eine auswertbare Fehlermeldung.
Parameter
-
modelPlainKey: Der Plain Key des KI-Modells bzw. der Modellkonfiguration, die für den Aufruf verwendet werden soll, z. B.
"GPT-4"oder"MistralConfig". -
userPrompt: Das
IAIPrompt-Objekt mit dem eigentlichen Inhalt der Anfrage. -
systemPrompt: Optionales
IAIPrompt-Objekt mit zusätzlichen Instruktionen für Verhalten, Rolle oder Antwortstil der KI. -
structuredOutput: Optionale
AIStructuredOutputConfig, die das erwartete strukturierte Antwortformat vorgibt. Erzeugbar z. B. überAIUtils.createStructuredConfig.
Rückgabe
Die Methode gibt immer ein IAIResult zurück.
-
Im Erfolgsfall enthält das Ergebnis die Antwort der KI.
-
Im Fehlerfall enthält das Ergebnis keinen verwertbaren KI-Inhalt, sondern einen Fehlerstatus sowie eine Fehlermeldung, die standardisiert ausgewertet werden kann.
Prüfen Sie das Ergebnis deshalb immer mit AIUtils.isAIResponseSuccessful(result).
Typischer Ablauf:
-
IAIResultentgegennehmen -
Erfolg prüfen
-
bei Erfolg Antwort auslesen
-
bei Fehler Fehlermeldung auslesen und geeignet anzeigen oder weiterverarbeiten
Beispiele
1. Freitext-Antwort mit System- und User-Prompt
String template = "Formuliere eine freundliche E-Mail an ${custom.Name}."
Map<String, Object> userPromptVars = ["Name": "Rainer Zufall"]
IAIPrompt systemPrompt = AIUtils.getPrompt("GenericSystemPrompt", [:], "fvvvvvv29msd61j2jp3e9fAc")
IAIPrompt userPrompt = AIUtils.createPrompt(template, userPromptVars)
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", systemPrompt, userPrompt)
if (AIUtils.isAIResponseSuccessful(result)) {
String aiResponse = AIUtils.getAIResponseMessage(result)
} else {
String errorMessage = AIUtils.getAIResponseError(result)
}
2. Strukturierte Antwort mit AIStructuredOutputConfig
AIStructuredOutputConfig contactSchema = AIUtils.createStructuredConfig()
AIUtils.addString(
contactSchema,
"fullName",
false,
"Vollständiger Name der Person"
)
AIUtils.addStringEnum(
contactSchema,
"category",
false,
"Geschäftliche Einordnung der Anfrage",
["SOFTWARE", "HARDWARE", "RECHNUNG", "SUPPORT", "SONSTIGES"],
"SONSTIGES"
)
AIUtils.addBoolean(
contactSchema,
"isCustomer",
true,
"Ob die Person bereits Kunde ist. Wenn nicht eindeutig erkennbar, Feld weglassen.",
false
)
AIStructuredOutputConfig addressSchema = AIUtils.createStructuredConfig()
AIUtils.addString(
addressSchema,
"city",
true,
"Stadt der Person. Wenn nicht erkennbar, Feld weglassen.",
"Unbekannte Stadt"
)
AIUtils.addObject(
contactSchema,
"address",
true,
"Adresse der Person",
addressSchema
)
IAIPrompt systemPrompt = AIUtils.createPrompt(
"Extrahiere strukturierte CRM-Daten aus dem Text. Lasse optionale Felder weg, wenn die Information nicht eindeutig erkennbar ist."
)
IAIPrompt userPrompt = AIUtils.createPrompt(
"Erika Mustermann aus Frankfurt ist bereits Kundin und fragt wegen einer Reparatur an."
)
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", contactSchema, systemPrompt, userPrompt)
if (AIUtils.isAIResponseSuccessful(result)) {
Map<String, Object> data = AIUtils.getAIStructuredResponse(result)
ProcessUtils.setVariable("contactData", data)
} else {
String errorMessage = AIUtils.getAIResponseError(result)
}
3. Ergebnis als ScriptReturn weitergeben
Falls ein KI-Ergebnis in einem Skript standardisiert zurückgegeben werden soll, kann das IAIResult in ein ScriptReturn überführt werden:
IAIPrompt userPrompt = AIUtils.createPrompt("Fasse den folgenden Text in einem Satz zusammen.")
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", userPrompt)
return AIUtils.toScriptReturn(result)
Version 2026.5
Code
IAIResult executeCustomPrompt(String modelPlainKey, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, IAIPrompt systemPrompt, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, StructuredOutputConfig structuredOutput, IAIPrompt userPrompt);
IAIResult executeCustomPrompt(String modelPlainKey, StructuredOutputConfig structuredOutput, IAIPrompt systemPrompt, IAIPrompt userPrompt);
Beschreibung
Führt die übergebenen Benutzer- und System-Prompts mit einem spezifischen KI-Modell aus. Im Gegensatz zu executePrompt (welches auf Vorlagen der Eingabe-Verwaltung basiert) erlaubt diese Methode das Ausführen von frei definierten IAIPrompt-Objekten. Zusätzlich kann ein Schema übergeben werden, welches die Antwort der KI in ein strukturiertes JSON-Format zwingt.
Parameter
-
modelPlainKey: Der Name des KI-Modells (Konfiguration), welches für den Aufruf verwendet werden soll (z. B. "GPT-4" oder "MistralConfig").
-
userPrompt: Das
IAIPrompt-Objekt, welches den eigentlichen Inhalt oder die Anfrage des Nutzers enthält. -
systemPrompt: [optional] Das
IAIPrompt-Objekt, welches die Instruktionen und das Verhalten der KI festlegt. -
structuredOutput: [optional] Das
StructuredOutputConfigObjekt, welches die Struktur für die Antwort des LLMs vorgibt. Erstellbar überAIUtils.createStructuredConfig.
Rückgabe
Das IAIResult, welches die Antwort der KI enthält. Nutzen Sie AIUtils.isAIResponseSuccessful(result), um den Erfolg zu prüfen.
Beispiele
-
Ohne Structured-Output Schema (Freitext)
// 1. Prompts vorbereiten
String template = 'Formuliere eine freundliche E-Mail an ${custom.Name}.'
Map userPromptVars = ["Name": "Rainer Zufall"]
IAIPrompt systemPrompt = AIUtils.getPrompt("GenericSystemPrompt", [:], "fvvvvvv29msd61j2jp3e9fAc")
IAIPrompt userPrompt = AIUtils.createPrompt(template, userPromptVars)
// 2. Custom Prompt ausführen
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", systemPrompt, userPrompt)
// 3. Ergebnis verarbeiten
if (AIUtils.isAIResponseSuccessful(result)) {
String aiResponse = AIUtils.getAIResponseMessage(result)
} else {
String errorMessage = AIUtils.getAIResponseError(result)
}
-
Mit Structured-Output Schema (Datenextraktion)
// 1. Schema und Prompts definieren
def config = AIUtils.createStructuredConfig()
AIUtils.addExpectedReturn(config, "sentiment", String.class, false, "neutral", "Stimmung des Textes")
IAIPrompt systemPrompt = AIUtils.createPrompt("Analysiere die Stimmung des Nutzers.")
IAIPrompt userPrompt = AIUtils.createPrompt("Der Service war heute leider sehr langsam.")
// 2. Custom Prompt mit Schema ausführen
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", config, systemPrompt, userPrompt)
// 3. Strukturiertes Ergebnis auslesen
if (AIUtils.isAIResponseSuccessful(result)) {
Map data = AIUtils.getAIStructuredResponse(result)
ProcessUtils.setVariable("mood", data.get("sentiment"))
}
Version 2025.5
Code
IAIResult executeCustomPrompt(String modelPlainKey, IAIPrompt userPrompt, IAIPrompt systemPrompt)
Beschreibung
Führt die übergebenen Benutzer- und System-Prompts mit dem KI-Modell aus, welches mit dem angegebenen Namen hinterlegt ist.
Parameter
-
modelPlainKey - Der Name des KI-Modells, welches für den Aufruf verwendet werden soll.
-
userPrompt - Das <tt>IAIPrompt</tt>-Objekt, welches die User-Prompt für den Aufruf enthält.
-
systemPrompt - Das <tt>IAIPrompt</tt>-Objekt, welches die System-Prompt für den Aufruf enthält.
Returns
Das IAIResult, welches die Antwort der KI enthält.
Beispiele
String template = 'Formuliere eine freundliche E-Mail, mit mehreren Terminvorschlägen von der Dauer von ${custom.Dauer}, an ${custom.Name} und achte darauf, dass du den Empfänger immer in der ${custom.Ansprechform}-Form ansprichst.';
Map userPromptVars = new HashMap();
userPromptVars.put("Dauer", "1 Stunde");
userPromptVars.put("Name", "Rainer Zufall");
userPromptVars.put("Ansprechform", "Sie");
IAIPrompt userPrompt = AIUtils.createPrompt(template, userPromptVars);
IAIPrompt systemPrompt = AIUtils.getPrompt("GenericSystemPrompt", new HashMap(), "fvvvvvv29msd61j2jp3e9fAc");
IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", userPrompt, systemPrompt);
if (AIUtils.isAIResponseSuccessful(result)) {
String aiResponse = AIUtils.getAIResponseMessage(result);
} else {
String errorMessage = AIUtils.getAIResponseError(result);
}