Grundlegendes zu Amazon Lex V2-Bot-Sitzungen - Amazon Lex

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Grundlegendes zu Amazon Lex V2-Bot-Sitzungen

Wenn ein Benutzer eine Konversation mit Ihrem Bot beginnt, erstellt Amazon Lex V2 eine Sitzung. Die zwischen Ihrer Anwendung und Amazon Lex V2 ausgetauschten Informationen bilden den Sitzungsstatus für die Konversation. Wenn Sie eine Anfrage stellen, wird die Sitzung durch eine von Ihnen angegebene Kennung identifiziert. Weitere Informationen zur Sitzungs-ID finden Sie in dem sessionId Feld in der RecognizeUtteranceOperation RecognizeTextor.

Sie können den zwischen Ihrer Anwendung und Ihrem Bot gesendeten Sitzungsstatus ändern. Beispielsweise können Sie Sitzungsattribute erstellen und ändern, die benutzerdefinierte Informationen zur Session enthalten. Außerdem können Sie den Gesprächsablauf ändern, indem Sie den Dialogkontext für die Interpretation der nächste Äußerung festlegen.

Es gibt drei Möglichkeiten, den Sitzungsstatus zu aktualisieren.

  • Übergeben Sie die Sitzungsinformationen inline als Teil eines Aufrufs an die RecognizeUtterance Operation RecognizeText oder.

  • Verwenden Sie eine Lambda-Funktion mit der RecognizeUtterance Operation RecognizeText oder, die nach jeder Runde der Konversation aufgerufen wird. Weitere Informationen finden Sie unter Integrieren eines AWS Lambda Funktion in deinen Bot. Die andere Möglichkeit besteht darin, die Amazon Lex V2-Laufzeit API in Ihrer Anwendung zu verwenden, um Änderungen am Sitzungsstatus vorzunehmen.

  • Verwenden Sie Operationen, mit denen Sie Sitzungsinformationen für eine Konversation mit Ihrem Bot verwalten können. Die Operationen sind die PutSessionOperation, die GetSessionOperation und die DeleteSessionOperation. Sie können mit diesen Operationen Informationen über den Status der Sitzung Ihres Benutzers mit Ihrem Bot anfordern und eine differenzierte Kontrolle über den Status erlangen.

Verwenden Sie die Operation GetSession, wenn Sie den aktuellen Status der Sitzung anfordern möchten. Der Vorgang gibt den aktuellen Status der Sitzung zurück, einschließlich des Status des Dialogs mit Ihrem Benutzer, aller festgelegten Sitzungsattribute und Slot-Werte für die aktuelle Absicht sowie aller anderen Absichten, die Amazon Lex V2 als mögliche Absichten identifiziert hat, die der Äußerung des Benutzers entsprechen.

Die Operation PutSession ermöglicht es Ihnen, den aktuellen Sitzungsstatus direkt zu bearbeiten. Sie können die Sitzung festlegen, einschließlich der Art der Dialogaktion, die der Bot als Nächstes ausführt, und der Nachrichten, die Amazon Lex V2 an den Benutzer sendet. Dadurch haben Sie Kontrolle über den Gesprächsablauf mit dem Bot. Stellen Sie das type Dialogaktionsfeld Delegate auf ein, damit Amazon Lex V2 die nächste Aktion für den Bot bestimmt.

Sie können mit der Operation PutSession eine neue Sitzung mit einem Bot erstellen und die Absicht festlegen, mit der der Bot beginnen soll. Sie können mit der Operation PutSession auch von einer Absicht zu einer anderen wechseln. Wenn Sie eine Sitzung erstellen oder die Absicht ändern, können Sie auch den Sitzungsstatus, wie z. B. Slot-Werte und Sitzungsattribute, festlegen. Wenn die neue Absicht abgeschlossen ist, haben Sie die Möglichkeit, die vorherige Absicht neu zu starten.

Die Antwort von der Operation PutSession enthält die gleichen Informationen wie die von der Operation RecognizeUtterance. Sie können diese Informationen, genauso wie die Antwort von der Operation RecognizeUtterance, verwenden, um vom Benutzer die nächste Teilinformation anzufordern.

Sie können mit der Operation DeleteSession eine vorhandene Sitzung entfernen und mit einer neuen Sitzung ganz von vorne beginnen. Wenn Sie beispielsweise Ihren Bot testen, können Sie mit der Operation DeleteSession Testsitzungen von Ihrem Bot entfernen.

Die Sitzungsvorgänge funktionieren mit Ihren Fulfillment-Lambda-Funktionen. Wenn Ihre Lambda-Funktion beispielsweise Failed als Erfüllungsstatus zurückkehrt, können Sie die PutSession Operation verwenden, um den Aktionstyp des Dialogs auf close und fulfillmentState auf festzulegen, um den Erfüllungsschritt erneut ReadyForFulfillment zu versuchen.

Es folgen einige Aufgaben, die Sie mit den Sitzungsoperationen ausführen können:

  • Veranlassen des Bots zum Starten einer Konversation, anstatt auf den Benutzer zu warten.

  • Wechseln von Absichten während einer Konversation.

  • Zurückkehren zur einer vorherigen Absicht.

  • Starten oder Neustarten einer Konversation während der Interaktion.

  • Validieren von Slot-Werten und Veranlassen des Bots, für ungültige Werte neue Werte anzufordern.

Jede dieser Aufgaben wird im Folgenden beschrieben.

Eine neue Sitzung starten

Wenn Sie möchten, dass der Bot die Konversation mit Ihrem Benutzer startet, können Sie dazu Operation PutSession verwenden.

  • Erstellen Sie eine Begrüßungsabsicht ohne Slots und eine abschließende Nachricht, die den Benutzer auffordert, eine Absicht zu nennen. Beispiel: „Was möchten Sie bestellen? Sie können Folgendes sagen: 'Ein Getränk bestellen' oder 'Eine Pizza bestellen'.“

  • Aufrufen der PutSession-Operation. Legen Sie als Absichtsnamen den Namen Ihrer Begrüßungsabsicht und als Dialogaktion Delegate fest.

  • Amazon Lex antwortet mit der Aufforderung von Your Welcome Intent, die Konversation mit Ihrem Benutzer zu beginnen.

Absicht wechseln

Sie können mit der Operation PutSession von einer Absicht zu einer anderen wechseln. Sie können mit ihr auch zu einer vorherigen Absicht zurückwechseln. Sie können mit der Operation PutSession Sitzungsattribute oder Slot-Werte für die neue Absicht einstellen.

  • Aufrufen der PutSession-Operation. Legen Sie als Absichtsnamen den Namen der neuen Absicht und als Dialogaktion Delegate fest. Sie können auch alle für die neue Absicht erforderlichen Slot-Werte oder Sitzungsattribute festlegen.

  • Amazon Lex beginnt eine Konversation mit dem Benutzer, der die neue Absicht verwendet.

Wiederaufnahme einer vorherigen Absicht

Um eine vorherige Absicht wieder aufzunehmen, verwenden Sie die GetSession Operation, um den Status der Absicht abzurufen, die erforderliche Interaktion durchzuführen und dann die PutSession Operation zu verwenden, um die Absicht auf den vorherigen Dialogstatus zu setzen.

  • Aufrufen der GetSession-Operation. Speichern Sie den Status der Absicht.

  • Führen Sie eine weitere Interaktion durch, z. B. die Erfüllung einer anderen Absicht.

  • Rufen Sie die PutSession Operation auf, indem Sie die für die vorherige Absicht gespeicherten Informationen verwenden. Dadurch gelangt der Benutzer wieder zur vorherigen Absicht an der gleichen Stelle im Gespräch.

In einigen Fällen kann es erforderlich sein, dass die Konversation Ihres Benutzers mit Ihrem Bot fortgesetzt wird. Angenommen, Sie haben einen Kundenservice-Bot erstellt. Ihre Anwendung stellt fest, dass der Benutzer mit einem Kundendienstmitarbeiter sprechen muss. Nach der Unterhaltung mit dem Benutzer kann der Mitarbeiter das Gespräch mit den vom ihm erfassten Informationen wieder an den Bot weiterleiten.

Um eine Sitzung fortzusetzen, verwenden Sie Schritte ähnlich wie diese:

  • Ihre Anwendung stellt fest, dass der Benutzer mit einem Kundendienstmitarbeiter sprechen muss.

  • Fordern Sie mit der Operation GetSession den aktuellen Dialogstatus der Absicht an.

  • Der Kundendienstmitarbeiter spricht mit dem Benutzer und löst das Problem.

  • Legen Sie mit der Operation PutSession den Dialogstatus der Absicht fest. Hierzu gehören möglicherweise Festlegen von Slot-Werten, Einstellen von Sitzungsattributen oder Ändern der Absicht.

  • Der Bot setzt die Konversation mit dem Benutzer fort.

Slot-Werte werden validiert

Sie können Antworten an Ihren Bot mit Ihrer Client-Anwendung validieren. Wenn die Antwort nicht gültig ist, können Sie mit der Operation PutSession eine neue Antwort von Ihrem Benutzer anfordern. Angenommen, Ihr Bot zur Aufnahme von Blumenbestellungen kann nur Rosen, Tulpen und Lilien verkaufen. Wenn der Benutzer Nelken bestellt, kann Ihre Anwendung wie folgt vorgehen:

  • Untersuchen des Slot-Wertes, der von der Antwort PostText oder PostContent zurückgegeben wird.

  • Wenn der Slot-Wert nicht gültig ist, Aufrufen der Operation PutSession. Ihre Anwendung sollte den Slot-Wert löschen, das Feld slotToElicit festlegen und den Wert dialogAction.type auf elicitSlot einstellen. Optional können Sie die messageFormat Felder message und festlegen, wenn Sie die Nachricht ändern möchten, die Amazon Lex verwendet, um den Slot-Wert zu ermitteln.