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.

ab 2026.6 Deprecated (veraltet)

Diese Methode ist veraltet. Verwenden Sie stattdessen AIUtils.addList, die eine präzisere Definition des Elementtyps und der Listeneigenschaften ermöglicht.

Die Methode addExpectedListReturn bleibt aus Kompatibilitätsgründen verfügbar, wird jedoch in einer zukünftigen Version entfernt.

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
}