Skip to main content
Skip table of contents

addObject

Versionshinweise

26.6

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

Code

GROOVY
AIStructuredOutputConfig addObject(AIStructuredOutputConfig config, String key, boolean required, String description, AIStructuredOutputConfig objectConfig)

Beschreibung

Fügt einer AIStructuredOutputConfig ein verschachteltes Objekt hinzu.

Mit dieser Methode definieren Sie ein Unterobjekt innerhalb einer strukturierten KI-Antwort. Dabei legen Sie den Feldnamen, die fachliche Beschreibung, ob das Objekt erforderlich ist, sowie eine untergeordnete AIStructuredOutputConfig für die Struktur des Unterobjekts fest.

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. "customer".

  • required: Legt fest, ob das Objekt erforderlich ist.

    • true: Das Objekt ist erforderlich.

    • false: Die KI darf das gesamte Objekt weglassen.

  • description: Fachliche Beschreibung des Objekts. Diese Beschreibung wird verwendet, um der KI die Bedeutung und den erwarteten Inhalt des Unterobjekts zu verdeutlichen.

  • objectConfig: Die untergeordnete AIStructuredOutputConfig, die die Felder des verschachtelten Objekts definiert.

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. Verschachteltes Objekt definieren

GROOVY
AIStructuredOutputConfig customerConfig = AIUtils.createStructuredConfig()
AIUtils.addString(customerConfig, "name", true, "Name des Kunden")
AIUtils.addString(customerConfig, "city", false, "Stadt des Kunden")

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addObject(
    config,
    "customer",
    true,
    "Aus dem Text extrahierte Kundeninformationen",
    customerConfig
)

2. Optionales Unterobjekt definieren

GROOVY
AIStructuredOutputConfig addressConfig = AIUtils.createStructuredConfig()
AIUtils.addString(addressConfig, "street", false, "Straße inklusive Hausnummer")
AIUtils.addString(addressConfig, "city", false, "Stadt")
AIUtils.addString(addressConfig, "country", false, "Land")

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addObject(
    config,
    "address",
    false,
    "Adresse der Person. Wenn nicht eindeutig erkennbar, Objekt weglassen.",
    addressConfig
)

3. Verwendung in einer strukturierten Antwort

GROOVY
AIStructuredOutputConfig addressConfig = AIUtils.createStructuredConfig()
AIUtils.addString(addressConfig, "city", true, "Stadt der Person")
AIUtils.addString(addressConfig, "country", false, "Land der Person")

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addString(config, "fullName", true, "Vollständiger Name der Person")
AIUtils.addObject(config, "address", false, "Adresse der Person", addressConfig)

Map<String, Object> systemVars = [:]
Map<String, Object> userVars = ["text": "Erika Mustermann wohnt in Frankfurt."]

IAIResult result = AIUtils.executePrompt("AnalyseCheck", config, systemVars, userVars)

if (AIUtils.isAIResponseSuccessful(result)) {
    Map<String, Object> data = AIUtils.getAIStructuredResponse(result)
    Map<String, Object> address = (Map<String, Object>) data.get("address")
} 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.