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
OperationRecognizeText
oder. -
Verwenden Sie eine Lambda-Funktion mit der
RecognizeUtterance
OperationRecognizeText
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 DialogaktionDelegate
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 DialogaktionDelegate
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
oderPostContent
zurückgegeben wird. -
Wenn der Slot-Wert nicht gültig ist, Aufrufen der Operation
PutSession
. Ihre Anwendung sollte den Slot-Wert löschen, das FeldslotToElicit
festlegen und den WertdialogAction.type
aufelicitSlot
einstellen. Optional können Sie diemessageFormat
Feldermessage
und festlegen, wenn Sie die Nachricht ändern möchten, die Amazon Lex verwendet, um den Slot-Wert zu ermitteln.