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