VoiceBooker

Zustand/State

Voice Agents/Bots werden häufig verwendet, um verschiedene Datentypen zu erfassen. Zum Beispiel werden Kunden nach ihrem Namen, Geburtsdatum, dem Produkt, das sie buchen oder stornieren möchten, dem bevorzugten Zeitfenster usw. gefragt.

Diese Daten werden in der Regel über die definierten Tools erfasst, wobei die Parameter die Informationen enthalten, die das LLM aus der Antwort des Kunden extrahiert hat.

Um diese Daten zwischen Funktionsaufrufen und Stages zu speichern, gibt es ein State-Objekt, das während der gesamten Anrufsession aktiv ist und zum Speichern und Abrufen solcher Informationen verwendet werden kann.

Um den State in den Prompt- oder Tool-Abschnitten zu verwenden, muss der State explizit aktiviert werden. Nach einer Änderung muss das geänderte State-Objekt – ähnlich wie beim Stack – zurückgegeben werden, sonst sind die Änderungen in nachfolgenden Funktionsaufrufen und Stages nicht sichtbar.

State-Objekt

Das State-Objekt ist ein einfaches JavaScript-Objekt, das zum Speichern flacher oder auch verschachtelter Informationen verwendet werden kann.

No-Code-Datenerfassung

Datenerfassung passiert während einer Aktion, d. h. eines Funktionsaufrufs. Daher ist es möglich, direkt im Abschnitt Tools einer Funktionsdefinition/-konfiguration festzulegen, wo die erfassten Informationen im State gespeichert werden sollen:

Der Schlüssel/Pfad definiert, wo die erfassten/extrahierten Daten im State-Objekt gespeichert werden. Die Punktnotation erlaubt das Speichern in einer verschachtelten Datenstruktur.

Codebasierte Datenerfassung

Das folgende Beispiel zeigt, wie die erfassten Informationen manuell im State-Objekt gespeichert und beim Verlassen der Funktion zurückgegeben werden:

function someFunction(params) {
    if (!params["state"]["user"]) params["state"]["user"] = {};
    params["state"]["user"]["name"] = params["user"];
    return { state: params["state"] };
}

Auf dieser Seite