getPrompt

Die AIUtils stehen nur zur Verfügung, wenn man das Modul "KI-Assistent" lizenziert hat.

Version 2026.6

Code

Groovy
IAIPrompt getPrompt(String promptPlainKey)
IAIPrompt getPrompt(String promptPlainKey, Map<String, Object> promptVars)
IAIPrompt getPrompt(String promptPlainKey, Map<String, Object> promptVars, String entryPk)

Beschreibung

Lädt ein in der Eingabe-Verwaltung definiertes Prompt und verarbeitet dessen Template-Platzhalter mit den übergebenen Werten aus promptVars.

Die Methode liefert im Erfolgsfall ein IAIPrompt zurück, das z. B. für executeCustomPrompt verwendet werden kann.

Einige Prompt-Definitionen benötigen zusätzlich einen Datensatzkontext. In diesem Fall muss entryPk übergeben werden, damit die Prompt-Vorlage auf einen konkreten Datensatz zugreifen kann.

Kann das Prompt nicht aufgelöst oder nicht verarbeitet werden, wird eine ScriptingException ausgelöst.

Parameter

  • promptPlainKey: Der Plain Key des zu ladenden Prompts aus der Eingabe-Verwaltung.

  • promptVars: Optionale Map mit den Werten für die Template-Platzhalter im Prompt.

  • entryPk: Optionaler Primärschlüssel eines Datensatzes, auf den innerhalb der Prompt-Definition zugegriffen werden soll.

Rückgabe und Fehlerverhalten

Im Erfolgsfall gibt die Methode ein IAIPrompt zurück.

Im Fehlerfall wird kein IAIPrompt zurückgegeben. Stattdessen wird eine ScriptingException ausgelöst, z. B. wenn:

  • das Prompt nicht gefunden wird,

  • Template-Platzhalter nicht verarbeitet werden können,

  • oder ein benötigter Datensatzkontext fehlt.

Beispiele

1. Prompt ohne Variablen laden

Groovy
IAIPrompt prompt = AIUtils.getPrompt("GenericSystemPrompt")

2. Prompt mit Variablen laden

Groovy
Map<String, Object> promptVars = [
    Name : "Rainer Zufall",
    Thema: "Produktvorstellung"
]

IAIPrompt prompt = AIUtils.getPrompt("MailPrompt", promptVars)

3. Prompt mit Datensatzbezug laden

Groovy
Map<String, Object> promptVars = [
    FormOfAddress   : "formal",
    AppointmentTopic: "Brand new product",
    Duration        : "1 hour",
    Location        : "on site"
]

List<String> dates = []
Date date = DateUtils.parseDate("01.04.1987 10:00", "dd.MM.yyyy HH:mm")
dates.add(DateUtils.convertDateTimePattern(date, "yyyy-MM-dd'T'HH:mm:ssX"))
date = DateUtils.setDateField(date, DateUtils.HOUR, 12)
dates.add(DateUtils.convertDateTimePattern(date, "yyyy-MM-dd'T'HH:mm:ssX"))
promptVars.put("Date", dates)

IAIPrompt prompt = AIUtils.getPrompt(
    "AppointmentScheduling",
    promptVars,
    "fvvvvvvkarpvi1ium3j2qcAc"
)

4. Prompt für executeCustomPrompt verwenden

Groovy
IAIPrompt systemPrompt = AIUtils.getPrompt("GenericSystemPrompt")

IAIPrompt userPrompt = AIUtils.createPrompt(
    "Formuliere eine freundliche Antwort auf folgende Anfrage: ${custom.text}",
    [text: "Ich habe mein Passwort vergessen."]
)

IAIResult result = AIUtils.executeCustomPrompt("MistralConfig", systemPrompt, userPrompt)

if (AIUtils.isAIResponseSuccessful(result)) {
    String message = AIUtils.getAIResponseMessage(result)
} else {
    String errorMessage = AIUtils.getAIResponseError(result)
}

Version 2025.5

Code

Groovy
IAIResult getPrompt(String promptPlainKey, Map<String, Object> promptVars, String entryPk)

Beschreibung

Gibt den Prompt mit dem angegebenen Namen zurück, wobei die Platzhalter mit den angegebenen Werten ausgefüllt werden. Die Prompt-Vorlage erfordert möglicherweise einen Datensatz, für den der PK angegeben werden muss.

Parameter

  • promptPlainKey- Der PlainKey einer Eingabe-Verwaltung, welche für den Aufruf der KI verwendet werden soll..

  • promptVars- Die Map welche die Werte für die Platzhalter in der Prompt enthält.

  • entityPk - [optional] Der PK eines Datensatzes, welcher in die Prompt übergeben wird.

Returns

Die IAIPrompt, welche für den Aufruf von executeCustomPrompt verwendet werden kann.

Beispiele

Groovy
Map promptVars = new HashMap();
promptVars.put("Ansprechform", "Siezen");
promptVars.put("ThemaDesTermins", "Brandneues Produkt");
promptVars.put("AgendaDesTermins", "Funktionen, KI, Günstiger Preis");

List<String> dates = new ArrayList<String>();
Date date = DateUtils.parseDate("01.04.1987 10:00", "dd.MM.yyyy HH:mm");
dates.add(DateUtils.convertDateTimePattern(date, "yyyy-MM-dd'T'HH:mm:ssX"));
date = DateUtils.setDateField(date, DateUtils.HOUR, 12);
dates.add(DateUtils.convertDateTimePattern(date, "yyyy-MM-dd'T'HH:mm:ssX"));
promptVars.put("Datum", dates);

promptVars.put("Dauer", "1 Stunde");
promptVars.put("Ort", "vor Ort");

IAIPrompt userPrompt = AIUtils.getPrompt("Terminvereinbarung", promptVars, 'fvvvvvvkarpvi1ium3j2qcAc');