getAIStructuredResponse
Versionshinweise | 26.4 | ||
|---|---|---|---|
Code
Map<String, Object> getAIStructuredResponse(IAIResult aiResult);
Beschreibung
Extrahiert das strukturierte Ergebnis (JSON) aus einem IAIResult und gibt es als Map zurück. Damit diese Methode ein Ergebnis liefert, muss beim vorherigen Aufruf von executePrompt oder executeCustomPrompt ein StructuredOutputConfig (Schema) übergeben worden sein.
Hinweis
Falls der KI-Aufruf nicht erfolgreich war (z. B. Timeout oder Fehler im LLM), gibt die Methode null zurück. Es wird empfohlen, vorab immer AIUtils.isAIResponseSuccessful(result) zu prüfen.
Parameter
aiResult: Das
IAIResultObjekt, welches die Antwort der KI aus einem vorherigen Aufruf enthält.
Rückgabe
Eine Map<String, Object>, welche die von der KI extrahierten Daten gemäß des definierten Schemas enthält. Bei Fehlern oder fehlendem Schema wird null zurückgegeben.
Beispiele
Verarbeitung einer strukturierten Antwort
Groovy
// 1. Voraussetzung: Ein Prompt wurde mit StructuredOutputConfig ausgeführt
def config = AIUtils.createStructuredConfig()
AIUtils.addExpectedReturn(config, "invoiceAmount", Double.class, false, 0.0, "Der Rechnungsbetrag")
AIUtils.addExpectedReturn(config, "currency", String.class, false, "EUR", "Die Währung")
IAIResult result = AIUtils.executePrompt("RechnungsCheck", config, [:], [:], "fvvvvvvkarpvi1ium3j2qcAc")
// 2. Extraktion der Daten aus dem Result
if (AIUtils.isAIResponseSuccessful(result)) {
// Wandelt das KI-Ergebnis in eine Map um
Map data = AIUtils.getAIStructuredResponse(result)
// 3. Zugriff auf die extrahierten Werte
if (data != null) {
Double amount = data.get("invoiceAmount")
String currency = data.get("currency")
ProcessUtils.setVariable("finalAmount", amount)
ProcessUtils.setVariable("isoCurrency", currency)
}
} else {
// Fehlerbehandlung falls die KI nicht antworten konnte
String error = AIUtils.getAIResponseError(result)
}