StartBotConversation - Amazon Chime SDK

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.

StartBotConversation

Die StartBotConversation Aktion richtet eine Sprachkonversation zwischen einem Endbenutzer und Ihrem Amazon Lex v2-Bot ein. Der Benutzer stellt dem Bot die erforderlichen Informationen zur Verfügung. Der Bot gibt die Informationen dann an die Audio Lambda-Funktion des öffentlichen Telefonnetzes (PSTN) zurück, und die Funktion führt die angeforderten Aufgaben aus.

Beispielsweise kann der Bot zu Beginn einer Konversation eine optionale Willkommensnachricht abspielen, um kurz zu beschreiben, welche Aufgabe die PSTN Audio Lambda-Funktion ausführen kann. Die Konversation zwischen dem Benutzer und dem Bot geht hin und her, bis der Bot die erforderlichen Informationen gesammelt hat. Sobald die Konversation beendet ist, ruft das Amazon Chime SDK Ihre PSTN Audio Lambda-Funktion mit einem Aktionserfolgsereignis auf, das die vom Bot gesammelten Informationen enthält. Ihre PSTN Audio Lambda-Funktion verarbeitet die Informationen und führt die angeforderte Aufgabe aus.

Der Audiodienst bietet eine lebensechte Konversationsinteraktion mit Ihren Benutzern. Beispielsweise können Benutzer den Bot unterbrechen und eine Frage beantworten, bevor die Audioaufforderung beendet ist. Darüber hinaus können Benutzer eine beliebige Kombination aus Sprach- und DTMF-Ziffern verwenden, um Informationen bereitzustellen. Der Bot wartet darauf, dass der Benutzer Eingaben macht, bevor er antwortet. Sie können konfigurieren, wie lange der Bot wartet, bis der Benutzer mit dem Sprechen fertig ist, bevor er eine Spracheingabe interpretiert. Der Benutzer kann den Bot auch anweisen, zu warten, wenn er während eines Anrufs Zeit benötigt, um zusätzliche Informationen abzurufen, z. B. Kreditkartennummern.

Die StartBotConversation Aktion verwendet Amazon Lex und Amazon Polly für die Dauer der Bot-Konversation. Es fallen die Standardkosten für Amazon Lex und Amazon Polly an. Weitere Preisinformationen finden Sie auf den Seiten Amazon Lex Streaming Conversation Pricing und Amazon Polly Pricing.

Anmerkung

Sie können diese Aktion nicht bei einem Brückenanruf oder bei einem Anruf ausführen, der einem Amazon Chime SDK-Meeting beigetreten ist.

Wichtig

Die Nutzung von Amazon Lex und Amazon Polly unterliegt den AWS Servicebedingungen, einschließlich der spezifischen Bedingungen für die Dienste für AWS Machine Learning und künstliche Intelligenz.

StartBotConversation Syntax

Das folgende Beispiel zeigt eine typische StartBotConversation Syntax.

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "StartBotConversation", "Parameters": { "CallId": "string", "ParticipantTag": "string", "BotAliasArn": "string", "LocaleId": "string", "Configuration": { "SessionState": { "SessionAttributes": { "string": "string" }, "DialogAction" : { "Type": "string" } }, "WelcomeMessages": [ { "Content": "string", "ContentType": "string" } ] } } } ] }
CallId

Beschreibung — Die CallID eines Teilnehmers am CallDetails AWS Lambda Funktionsaufruf. Die StartBotConversation Aktion verwendet diese ID als die des BotsSessionId. Alle Bot-Konversationen, die im Rahmen eines Anrufs stattfinden, teilen sich dieselbe Konversationssitzung. Sie können den Sitzungsstatus zwischen Ihrem Benutzer und Ihrem Bot mithilfe der Amazon PutSession Lex-API ändern. Weitere Informationen finden Sie unter Verwalten von Sitzungen mit der Amazon Lex v2-API im Amazon Lex Developer Guide.

Zulässige Werte — Eine gültige Anruf-ID.

Erforderlich — Nein, ParticipantTag wenn vorhanden.

Standardwert — Keiner.

ParticipantTag

Beschreibung — Die ParticipantTag eines der verbundenen Teilnehmer amCallDetails.

Zulässige WerteLEG-A.

Erforderlich — Nein, CallId wenn vorhanden.

StandardwertParticipantTag des aufgerufenencallLeg. Wird ignoriert, wenn Sie angebenCallDetails.

BotAliasArn

Beschreibung — Der Bot-Alias-ARN Ihres Lex-Bot. Sie müssen den Bot in derselben AWS-Region wie Ihre PSTN Audio-Anwendung erstellen. Ein gültiger Amazon Lex Lex-Bot-Alias hat dieses Format:arn:aws:lex:region:awsAccountId:bot-alias/botId/botAliasId, wobei die AWS-Region regionist, in der sich Ihr Bot befindet. Das awsAccountId ist die AWS-Konto-ID, in der Ihr Amazon Lex Lex-Bot erstellt wurde. Der botId Wert ist die Kennung, die dem Bot zugewiesen wurde, als Sie ihn erstellt haben. Sie finden die Bot-ID in der Amazon Lex-Konsole auf der Seite mit den Bot-Details. Das botAliasId ist die Kennung, die dem Bot-Alias zugewiesen wurde, als Sie ihn erstellt haben. Sie finden die Bot-Alias-ID in der Amazon Lex Lex-Konsole auf der Seite Aliase.

Zulässige Werte — Ein gültiger Bot-ARN.

Erforderlich — Ja.

Standardwert —Keiner.

LocaleId

Beschreibung — Die Kennung des Gebietsschemas, das Sie für Ihren Bot verwendet haben. Eine Liste der Gebietsschemas und Sprachcodes finden Sie unter Von Amazon Lex unterstützte Sprachen und Gebietsschemas.

Zulässige WerteSprachen und Gebietsschemas, die von Amazon Lex unterstützt werden.

Erforderlich — Nein.

Standardwerten_US.

Konfiguration

Beschreibung — Die Konversationskonfiguration, einschließlich Sitzungsstatus und Willkommensnachrichten. Die Gesamtgröße der JSON-Zeichenfolgendarstellung des Configuration Objekts ist auf 10 KB begrenzt.

Zulässige WerteConfiguration Objekt.

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. SessionState

Beschreibung — Der Status der Benutzersitzung mit Amazon Lex v2.

Zulässige WerteSessionState Objekt.

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. SessionState. SessionAttributes

Beschreibung — Eine Zuordnung der Schlüssel/Wert-Paare, die sitzungsspezifische Kontextinformationen darstellen. Diese Map enthält Anwendungsinformationen, die zwischen Amazon Lex v2 und einer Client-Anwendung übertragen werden.

Zulässige Werte — Zuordnung von Zeichenfolge zu Zeichenfolge.

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. SessionState. DialogAction. Typ

Beschreibung — Die nächste Aktion, die der Bot bei seinen Interaktionen mit dem Benutzer ausführt. Mögliche Werte:

  • Delegate Amazon Lex v2 bestimmt die nächste Aktion.

  • ElicitIntentDie nächste Aktion löst beim Benutzer eine Absicht aus.

Zulässige Werte — |Delegate. ElicitIntent

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. WelcomeMessages

Beschreibung — Eine Liste von Nachrichten, die zu Beginn der Konversation an den Benutzer gesendet werden sollen. Wenn Sie das welcomeMessage Feld festlegen, müssen Sie den DialogAction.Type Wert auf festlegenElicitIntent.

Zulässige Werte — Nachrichtenobjekt

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. WelcomeMessages. Inhalt

Beschreibung — Der Text der Willkommensnachricht.

Zulässige Werte — Zeichenfolge.

Erforderlich — Nein.

Standardwert — Keiner.

Konfiguration. WelcomeMessages. ContentType

Beschreibung — Gibt den Typ der Willkommensnachricht an.

Zulässige Werte PlainText | SSML

  • PlainText— Die Nachricht enthält einfachen UTF-8-Text.

  • SSML — Die Nachricht enthält Text, der für die Sprachausgabe formatiert ist.

Erforderlich — Ja.

Standardwert — Keiner.

Die StartBotConversation Aktion verwenden

Das folgende Beispiel zeigt eine typische StartBotConversation Aktion.

{ "SchemaVersion": "1.0", "Actions":[ { "Type": "StartBotConversation", "Parameters": { "CallId": "call-id-1", "BotAliasArn": "arn:aws:lex:us-east-1:123456789012:bot-alias/ABCDEFGHIH/MNOPQRSTUV", "LocaleId": "en_US", "Configuration": { "SessionState": { "SessionAttributes": { "mykey1": "myvalue1" }, "DialogAction" : { "Type": "ElicitIntent" } }, "WelcomeMessages": [ { "Content": "Welcome. How can I help you?", "ContentType": "PlainText" } ] } } } ] }

Behandlung von ACTION_SUCCESSFUELL

Das folgende Beispiel zeigt ein typisches ACTION_SUCCESSFUL Ereignis für die StartBotConversation Aktion.

{ "SchemaVersion": "1.0", "Sequence": number, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "CallId": "string", "Type": "StartBotConversation", "Parameters": { // parameters provided in the StartBotConversation action. }, "CallDetails": { // Information about the call associated with the AWS Lambda invocation. }, "IntentResult": { "SessionId": "string", "SessionState": { "SessionAttributes": { "string": "string" }, "Intent": { "Name": "string", "Slots": { "string": { "Value": { "OriginalValue": "string", "InterpretedValue": "string", "ResolvedValues": ["string"] }, "Values": [] } }, "State": "string", "ConfirmationState": "string" } }, "Interpretations": [ { "NluConfidence": { "Score": number }, "Intent": { "Name": "string", "Slots": { "string": { "Value": { "OriginalValue": "string", "InterpretedValue": "string", "ResolvedValues": ["string"] }, "Values": [] } }, "State": "string", "ConfirmationState": "string" } } ] } } }
IntentResult

Das Ergebnis der Konversation zwischen dem Benutzer und dem Bot.

SessionId

Die Kennung der Bot-Konversationssitzung. Wenn ein Benutzer eine Konversation mit Ihrem Bot beginnt, erstellt Amazon Lex eine Sitzung. Eine Sitzung kapselt die Informationen, die zwischen Ihrem Benutzer und dem Bot ausgetauscht werden. Die StartBotConversation Aktion verwendet die Anruf-ID wie die des Bots. SessionId Sie können den Sitzungsstatus zwischen Ihrem Benutzer und Ihrem Bot mithilfe der PutSessionLex-API ändern. Weitere Informationen finden Sie unter Verwalten von Sitzungen mit der Amazon Lex V2-API im Amazon Lex Developer Guide.

SessionState

Der Status der Amazon Lex v2-Sitzung des Benutzers.

SessionState.SessionAttributes

Zuordnung von Schlüssel/Wert-Paaren, die sitzungsspezifische Kontextinformationen darstellen. Die Map enthält Bot-Konversationsinformationen, die zwischen der an Ihren Bot angehängten Lambda-Funktion und der PSTN Audio Lambda-Funktion übertragen werden.

Interpretationen

Eine von Amazon Lex abgeleitete Liste von Absichten, die den Äußerungen eines Kunden entsprechen könnten. Die Absicht mit der höchsten NluConfidence Punktzahl wird zur Absicht für. SessionState

Interpretationen. NluConfidence. Ergebnis

Ein Wert, der angibt, wie sicher Amazon Lex v2 ist, dass eine Absicht die Absicht eines Benutzers erfüllt. Der Bereich liegt zwischen 0,00 und 1,00. Höhere Werte deuten auf ein höheres Selbstvertrauen hin.

Absicht

Die Aktion, die der Benutzer ausführen möchte.

Absicht.Name

Der Name der Absicht.

Intent.Slots

Eine Übersicht aller Slots für den Intent. Der Name des Slots entspricht dem Wert des Slots. Wenn ein Slot nicht gefüllt wurde, ist der Wert Null.

Intent.Slots.Value

Der Wert des Slots.

Intent.Slots.Values

Eine Liste mit einem oder mehreren Werten, die der Benutzer für den Slot angegeben hat.

Intent.Slots.Value. OriginalValue

Der Text der Benutzerantwort, der für den Slot eingegeben wurde.

Intent.Slots.Value. InterpretedValue

Beschreibung — Der Wert, den Amazon Lex v2 für den Steckplatz bestimmt. Der tatsächliche Wert hängt von der Einstellung der Strategie zur Werteauswahl durch den Bot ab. Sie können den vom Benutzer eingegebenen Wert verwenden oder Amazon Lex v2 den ersten Wert in der resolvedValues Liste auswählen lassen.

Intent.Slots.Value. ResolvedValues

Eine Liste zusätzlicher Werte, die Amazon Lex v2 für den Steckplatz erkennt.

Intent.State

Beschreibung — Informationen zur Erfüllung der Absicht. Mögliche Werte:

  • Fehlgeschlagen — Die Lambda-Funktion konnte die Absicht nicht erfüllen.

  • Erfüllt — Die Lambda-Funktion hat die Absicht erfüllt.

  • ReadyForFulfillment— Die Informationen für die Absicht sind vorhanden, und Ihre Lambda-Funktion kann die Absicht erfüllen.

Absicht. ConfirmationState

Beschreibung — Zeigt die Bestätigung der Absicht an. Mögliche Werte:

  • Bestätigt — Die Absicht ist erfüllt.

  • Abgelehnt — Der Benutzer hat auf die Bestätigungsaufforderung mit „Nein“ geantwortet.

  • Keine — Der Benutzer wurde nicht zur Bestätigung aufgefordert, oder der Benutzer wurde aufgefordert, hat die Aufforderung aber nicht bestätigt oder abgelehnt.

Behandlung von ACTION_FAILED-Ereignissen

Das folgende Beispiel zeigt ein typisches ACTION_FAILED Ereignis für die StartBotConversation Aktion.

{ "SchemaVersion": "1.0", "Sequence": number, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "CallId": "string", "Type": "StartBotConversation", "Parameters": { // parameters provided in the StartBotConversation action }, "ErrorType": "string", "ErrorMessage": "string" }, "CallDetails":{ } }
ErrorType

Eine Zeichenfolge, die eine Fehlerbedingung eindeutig identifiziert.

ErrorMessage

Eine allgemeine Beschreibung der Fehlerbedingung.

Fehlercodes

In der folgenden Tabelle sind die Fehlermeldungen aufgeführt, die eine Lambda-Funktion bei einem ACTION_FAILED Ereignis zurückgeben kann.

Fehler Beschreibung

InvalidActionParameter

Ein oder mehrere Aktionsparameter sind ungültig. Die Fehlermeldung beschreibt den ungültigen Parameter.

SystemException

Beim Ausführen einer Aktion ist ein Systemfehler aufgetreten.

ResourceNotFound

Ein bestimmter Bot wurde nicht gefunden.

ResourceAccessDenied

Der Zugriff auf den Bot wurde verweigert.

ActionExecutionThrottled

Das Limit für den Bot-Konversationsdienst wurde überschritten. Die Fehlermeldung beschreibt, dass das spezifische Service-Limit überschritten wurde.

Erteilung von Berechtigungen zur Verwendung eines Bots

Im folgenden Beispiel wird dem Amazon Chime SDK die Erlaubnis erteilt, die Amazon StartConversationLex-APIs aufzurufen. Sie müssen dem Audiodienst ausdrücklich die Erlaubnis erteilen, Ihren Bot zu verwenden. Der Bedingungsblock ist für Service-Principals erforderlich. Der Bedingungsblock muss die globalen Kontextschlüssel AWS:SourceAccount und AWS:SourceArn verwenden. Das AWS:SourceAccount ist Ihre AWS-Konto-ID. Das AWS:SourceArn ist der Ressourcen-ARN der PSTN Audio-Anwendung, die den Lex-Bot aufruft.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowChimePstnAudioUseBot", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": "lex:StartConversation", "Resource": "arn:aws:lex:region:awsAccountId:bot-alias/botId/aliasId", "Condition": { "StringEquals": { "AWS:SourceAccount": "awsAccountId" }, "ArnEquals": { "AWS:SourceArn": "arn:aws:voiceconnector:region:awsAccountId:sma/smaId" } } } ] }

Konfiguration von Sprach- und DTMF-Timeouts

Sie können die Sprach- und DTMF-Timeouts bei der Erfassung von Benutzereingaben konfigurieren. Sie können Timeouts über Sitzungsattribute konfigurieren, wenn Sie eine Konversation mit einem Bot starten, und sie bei Bedarf in der Lambda-Funktion Ihres Lex-Bot überschreiben. Mit Amazon Lex können Sie mehrere Slots für eine Absicht oder Bots einrichten. Da Sie festlegen können, dass Sitzungsattribute für die Absicht- und Slot-Ebene gelten, können Sie angeben, dass das Attribut nur festgelegt wird, wenn Sie einen bestimmten Eingabetyp erfassen. Sie können beispielsweise beim Sammeln einer Kontonummer ein längeres Timeout angeben als bei der Erfassung eines Datums. Sie können Platzhalter im Sitzungsattributschlüssel verwenden.

Um beispielsweise ein Sprach-Timeout für alle Slots in jeder Hinsicht auf 4000 Millisekunden festzulegen, können Sie ein Sitzungsattribut angeben, indem Sie: x-amz-lex:start-timeout-ms:*:* als Namen des Sitzungsattributs und 4000 als Wert für das Sitzungsattribut verwenden. Weitere Informationen finden Sie unter Konfiguration von Timeouts für die Erfassung von Benutzereingaben im Amazon Lex Developer Guide.

Verwenden von DTMF-Eingaben während einer Konversation

Amazon Lex Lex-Bots unterstützen Sprach- und Tastatureingaben während einer Konversation. Die Bots interpretieren Tastatureingaben als DTMF-Ziffern. Sie können Kontakte auffordern, ihre Eingabe mit einer Rautetaste (#) zu beenden und eine Konversation mit der Sterntaste (*) abzubrechen. Wenn Sie Kunden nicht auffordern, ihre Eingabe mit der Rautetaste zu beenden, wartet Lex nach 5 Sekunden nicht mehr auf weitere Tastendrücke.

Abrechnung und Servicekontingente

AWS stellt Ihnen die folgenden Kosten in Rechnung:

Sie müssen sich auch der folgenden Servicekontingente bewusst sein:

  • Das Amazon Chime SDK hat ein Servicekontingent für die maximale Anzahl von Amazon Lex Lex-Bots, die Sie mit der PSTN Audio-Aktion verwenden können. StartBotConversation Weitere Informationen finden Sie unter SIP-Trunking und Sprachkontingente in der Allgemeinen Referenz.AWS

  • Amazon Lex hat ein Servicekontingent für die maximale Anzahl gleichzeitiger Sprachgespräche pro Lex-Bot. Für Kontingenterhöhungen können Sie sich an das Amazon Lex Lex-Serviceteam wenden. Weitere Informationen finden Sie in den Amazon Lex Guidelines and Quotas im Amazon Lex Developer Guide.

  • Amazon Polly hat ein Servicekontingent für die Synthese von Textantworten. Für Quotenerhöhungen können Sie sich an das Amazon Polly Polly-Serviceteam wenden. Weitere Informationen zu Amazon Polly-Servicekontingenten finden Sie unter Kontingente in Amazon Polly im Amazon Polly Developer Guide.