addObjectList
Versionshinweise | 26.6 | ||
|---|---|---|---|
Die AIUtils stehen nur zur Verfügung, wenn man das Modul „KI-Assistent“ lizenziert hat.
Code
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
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
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
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)
}