addStringEnum
Versionshinweise | 26.6 | ||
|---|---|---|---|
Die AIUtils stehen nur zur Verfügung, wenn man das Modul „KI-Assistent“ lizenziert hat.
Code
AIStructuredOutputConfig addStringEnum(AIStructuredOutputConfig config, String key, boolean required, String description, List<String> allowedValues)
AIStructuredOutputConfig addStringEnum(AIStructuredOutputConfig config, String key, boolean required, String description, List<String> allowedValues, String defaultValue)
Beschreibung
Fügt einer AIStructuredOutputConfig ein String-Feld mit fest vorgegebenen erlaubten Werten hinzu.
Mit dieser Methode definieren Sie ein Feld innerhalb einer strukturierten KI-Antwort, dessen Wert auf eine vorgegebene Menge von String-Werten beschränkt ist. Dabei legen Sie den Feldnamen, die fachliche Beschreibung, die erlaubten Werte und fest, ob das Feld erforderlich ist oder von der KI weggelassen werden darf.
Optional kann zusätzlich ein Default-Wert angegeben werden. Dieser wird bei der Nachverarbeitung verwendet, wenn das Feld in der KI-Antwort fehlt oder null ist.
Die übergebene Konfiguration wird direkt verändert. Eine erneute Zuweisung des Rückgabewerts ist daher nicht erforderlich.
Parameter
config: Die
AIStructuredOutputConfig, die erweitert werden soll.key: Der Feldschlüssel innerhalb des aktuellen Objekts, z. B.
"priority".required: Legt fest, ob das Feld erforderlich ist.
true: Das Feld ist erforderlich.false: Die KI darf das Feld weglassen.
description: Fachliche Beschreibung des Felds. Diese Beschreibung wird verwendet, um der KI die Bedeutung und den erwarteten Inhalt des Felds zu verdeutlichen.
allowedValues: Liste der erlaubten String-Werte, z. B.
"LOW","MEDIUM"oder"HIGH".defaultValue: Optionaler Fallback-Wert, der bei der Nachverarbeitung eingesetzt wird, wenn das Feld fehlt oder
nullist.
Rückgabe und Fehlerverhalten
Im Erfolgsfall gibt die Methode dieselbe AIStructuredOutputConfig-Instanz zurück.
Im Fehlerfall wird keine Konfiguration zurückgegeben. Stattdessen wird eine IllegalArgumentException ausgelöst, z. B. wenn übergebene Argumente ungültig sind.
Beispiele
1. Enum-Feld mit erlaubten Werten definieren
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addStringEnum(
config,
"priority",
true,
"Priorität der Anfrage",
["LOW", "MEDIUM", "HIGH"]
)
2. Optionales Enum-Feld mit Default-Wert
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addStringEnum(
config,
"category",
false,
"Geschäftliche Einordnung der Anfrage. Wenn keine Zuordnung möglich ist, Feld weglassen.",
["SOFTWARE", "HARDWARE", "RECHNUNG", "SUPPORT", "SONSTIGES"],
"SONSTIGES"
)
3. Verwendung in einer strukturierten Antwort
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addStringEnum(
config,
"priority",
true,
"Priorität der Anfrage",
["LOW", "MEDIUM", "HIGH"]
)
Map<String, Object> systemVars = [:]
Map<String, Object> userVars = ["text": "Die Anfrage ist sehr dringend und sollte sofort bearbeitet werden."]
IAIResult result = AIUtils.executePrompt("AnalyseCheck", config, systemVars, userVars)
if (AIUtils.isAIResponseSuccessful(result)) {
Map<String, Object> data = AIUtils.getAIStructuredResponse(result)
String priority = (String) data.get("priority")
} else {
String errorMessage = AIUtils.getAIResponseError(result)
}