Skip to main content
Skip table of contents

addStringEnum

Versionshinweise

26.6

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

Code

GROOVY
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 null ist.

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

GROOVY
AIStructuredOutputConfig config = AIUtils.createStructuredConfig()

AIUtils.addStringEnum(
    config,
    "priority",
    true,
    "Priorität der Anfrage",
    ["LOW", "MEDIUM", "HIGH"]
)

2. Optionales Enum-Feld mit Default-Wert

GROOVY
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

GROOVY
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)
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.