Skip to main content
Skip table of contents

addObjectList

Versionshinweise

26.6

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

Code

GROOVY
AIStructuredOutputConfig addObjectList(AIStructuredOutputConfig config, String key, boolean required, String description, AIStructuredOutputConfig elementConfig)

Beschreibung

Fügt einer AIStructuredOutputConfig ein Listenfeld hinzu, dessen Elemente Objekte sind.

Mit dieser Methode definieren Sie eine Liste von verschachtelten Objekten innerhalb einer strukturierten KI-Antwort. Dabei legen Sie den Feldnamen, die fachliche Beschreibung, ob die Liste erforderlich ist, sowie eine untergeordnete AIStructuredOutputConfig für die Struktur jedes Listenelements 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. "items".

  • required: Legt fest, ob die Liste erforderlich ist.

    • true: Die Liste ist erforderlich.

    • false: Die KI darf die gesamte Liste weglassen.

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

  • elementConfig: Die untergeordnete AIStructuredOutputConfig, die die Felder jedes Objekts innerhalb der Liste 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. Objektliste definieren

Groovy

GROOVY
AIStructuredOutputConfig itemConfig = AIUtils.createStructuredConfig()
AIUtils.addString(itemConfig, "name", true, "Name der Position")
AIUtils.addInt(itemConfig, "quantity", true, "Anzahl der Position")

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addObjectList(
    config,
    "items",
    true,
    "Rechnungspositionen",
    itemConfig
)

2. Optionale Objektliste definieren

Groovy

GROOVY
AIStructuredOutputConfig scoreConfig = AIUtils.createStructuredConfig()
AIUtils.addString(scoreConfig, "key", true, "Bewerteter Klassifizierungsschlüssel")
AIUtils.addInt(scoreConfig, "score", false, "Bewertung der Passung von 0 bis 100", 0)

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addObjectList(
    config,
    "scores",
    false,
    "Liste bewerteter Klassifizierungsschlüssel. Wenn keine erkennbar sind, Feld weglassen.",
    scoreConfig
)

3. Verwendung in einer strukturierten Antwort

Groovy

GROOVY
AIStructuredOutputConfig itemConfig = AIUtils.createStructuredConfig()
AIUtils.addString(itemConfig, "name", true, "Name der Position")
AIUtils.addInt(itemConfig, "quantity", true, "Anzahl der Position")

AIStructuredOutputConfig config = AIUtils.createStructuredConfig()
AIUtils.addObjectList(
    config,
    "items",
    true,
    "Extrahierte Positionen aus dem Text",
    itemConfig
)

Map<String, Object> systemVars = [:]
Map<String, Object> userVars = ["text": "Bestellt wurden 2 Monitore und 1 Tastatur."]

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

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