createPrompt
Versionshinweise | 25.5 | ||
|---|---|---|---|
Code
IAIResult createPrompt(String template, Map<String, Object> promptVars)
Hinweis
Die AIUtils stehen nur zur Verfügung, wenn man das Modul "KI-Assistent" lizenziert hat.
Beschreibung
Erzeugt eine Prompt aus der übergebenen Vorlage und ersetzt dabei die Platzhalter mit den Werten aus der übergebenen Map. Die Vorlage kann dieselben Platzhalter verwenden wie sie in der Prompt-Bibliothek verwendet werden.
Parameter
template - Die Prompt, welche Platzhalter enthalten kann. Es ist wichtig für den String einfache Anführungszeichen zu verwenden, wenn Platzhalter verwendet werden.
promptVars- [optional] Die Map welche die Werte für die Platzhalter in der Prompt enthält.
Returns
Die IAIPrompt, welche für den Aufruf von executeCustomPrompt verwendet werden kann.
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 Empänger immer in ${custom.Ansprechform}-Form ansprichst.';
Map<String, Object> promptVars = new HashMap<>();
promptVars.put("Dauer", "1 Stunde");
promptVars.put("Name", "Rainer Zufall");
promptVars.put("Ansprechform", "Sie");
IAIPrompt userPrompt = AIUtils.createPrompt(template, promptVars);
Versionshinweise | 26.4 | ||
|---|---|---|---|
Code
IAIPrompt createPrompt(String template, Map<String, Object> promptVars)
Hinweis
Die AIUtils stehen nur zur Verfügung, wenn man das Modul "KI-Assistent" lizenziert hat.
Beschreibung
Erzeugt einen Prompt aus der übergebenen Vorlage und ersetzt dabei die Platzhalter mit den Werten aus der übergebenen Map. Die Vorlage unterstützt die FreeMarker-Syntax.
Neben einfachen Text-Ersetzungen ermöglicht diese Methode die Übergabe komplexer Datenstrukturen (Maps, Listen), um der KI Beispiele für strukturierte Ausgaben zu liefern (Few-Shot Prompting). Hierbei kann die Hilfsfunktion toJson() (eine Custom FreeMarker-Methode, die von CURSOR bereitgestellt wird) verwendet werden, um Objekte direkt in ein maschinenlesbares Format zu konvertieren.
Parameter
template – Die Prompt-Vorlage. Platzhalter müssen im Format
${custom.Variable}angegeben werden.Wichtig: Verwenden Sie einfache Anführungszeichen (
'...') oder Slash-Strings (/.../) in Groovy, um eine frühzeitige Evaluierung durch Groovy selbst zu verhindern.
promptVars – [optional] Eine Map, welche die Werte oder komplexen Objekte für die Platzhalter enthält.
Returns
Die IAIPrompt, welche für den Aufruf von executeCustomPrompt verwendet werden kann.
Beispiele
A. Einfache Text-Ersetzung
String template = 'Schreibe eine E-Mail an ${custom.Name}. Thema: ${custom.Thema}.';
Map promptVars = [
Name: "Rainer Zufall",
Thema: "Terminverschiebung"
]
IAIPrompt userPrompt = AIUtils.createPrompt(template, promptVars);
B. Few-Shot Prompting für strukturierte Daten (Best Practice)
Dieser Use Case zeigt, wie man der KI ein Beispiel-Objekt (Map) übergibt, damit diese das Antwortformat (JSON) exakt einhält.
// 1. Beispiel-Daten definieren
Map example = [
input: "Max Mustermann aus Gießen möchte Software bestellen.",
output: [
fullName: "Max Mustermann",
category: "SOFTWARE",
city: "Gießen"
]
]
// 2. Template mit toJson-Funktion definieren
String sysTemplate = '''
Du bist ein Daten-Extraktor. Orientiere dich an diesem Beispiel:
Eingabe: ${custom.ex.input}
Ausgabe: ${toJson(custom.ex.output)}
'''
// 3. Prompt erstellen
IAIPrompt sysPrompt = AIUtils.createPrompt(sysTemplate, [ex: example]);