Skip to main content
Skip table of contents

addExpectedListReturn

Versionshinweise

26.4

Code

GROOVY
StructuredOutputConfig addExpectedListReturn(StructuredOutputConfig config, String path, Class<?> elementType, boolean optional, Object defaultValue, String description);
StructuredOutputConfig addExpectedListReturn(StructuredOutputConfig config, String path, Class<?> elementType, boolean optional, String description);
StructuredOutputConfig addExpectedListReturn(StructuredOutputConfig config, String path, Class<?> elementType, boolean optional);

Beschreibung

Fügt der Konfiguration ein Feld hinzu, das eine Liste von Elementen (Array) erwartet. Über die description können der KI präzise Extraktionsregeln gegeben werden (z.B. Mengenbegrenzungen oder inhaltliche Kriterien).

Hinweis

Wenn Sie eine Liste von Objekten (z. B. eine Liste von Adressen) benötigen, verwenden Sie Map.class oder Object.class als elementType und definieren Sie die Unterfelder über die Punkt-Notation in addExpectedReturn.

Parameter

  • config: Das zu erweiternde StructuredOutputConfig-Objekt.

  • path: Der Name des Feldes (Punkt-Notation für Verschachtelung möglich).

  • elementType: Der Java-Typ der Listenelemente (z. B. String.class, Integer.class).

  • optional: Gibt an, ob die Liste im Ergebnis fehlen darf.

  • defaultValue: [optional] Eine Fallback-Liste, falls die KI kein Ergebnis liefert.

  • description: [optional] Instruktion für die KI (z. B. zur Extraktionslogik oder Mengenbegrenzung).

Rückgabe

Die modifizierte StructuredOutputConfig.

Beispiele

Liste mit Größenbeschränkung definieren

GROOVY
// 1. Konfiguration erstellen
def config = AIUtils.createStructuredConfig();

// 2. Liste von Strings mit expliziter Vorgabe in der Description
AIUtils.addExpectedListReturn(
    config, 
    "tags", 
    String.class, 
    false, 
    [], 
    "Extrahiere maximal 3 prägnante Schlagworte, die den Inhalt zusammenfassen."
);

// 3. Liste von numerischen Werten
AIUtils.addExpectedListReturn(config, "gefundeneMesswerte", Double.class, true, "Alle im Text erwähnten Temperaturwerte");

// 4. Ausführung
IAIResult result = AIUtils.executePrompt("ContentAnalyzer", config, [:], [:], null);

if (AIUtils.isAIResponseSuccessful(result)) {
    Map data = AIUtils.getAIStructuredResponse(result);
    List allTags = data.get("tags"); // Enthält max. 3 Strings
}
JavaScript errors detected

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

If this problem persists, please contact our support.