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 Aktionsereignis 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
Anmerkung
Sie können diese Aktion nicht bei einem Brückenanruf oder bei einem Anruf ausführen, der an einem Amazon Chime SDK-Meeting teilgenommen hat.
Wichtig
Die Nutzung von Amazon Lex und Amazon Polly unterliegt den AWS Servicebedingungen
Themen
- StartBotConversation-Syntax
- Die StartBotConversation Aktion verwenden
- Umgang mit ACTION_SUCCESSFUL Ereignissen
- Umgang mit ACTION_FAILED Ereignissen
- Erteilung von Berechtigungen zur Verwendung eines Bots
- Konfiguration von Sprach- und DTMF-Timeouts
- Verwenden von DTMF-Eingaben während einer Konversation
- Abrechnung und Servicekontingente
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 amCallDetails
AWS Lambda Funktionsaufruf. DieStartBotConversation
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 Werte —
LEG-A
.Erforderlich — Nein,
CallId
wenn vorhanden.Standardwert —
ParticipantTag
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:
, wobei die AWS-Regionregion
:awsAccountId
:bot-alias/botId
/botAliasId
ist, in der sich Ihr Bot befindet. Dasregion
ist die AWS-Konto-ID, in der Ihr Amazon Lex Lex-Bot erstellt wurde. DerawsAccountId
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. DasbotAliasId
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 Werte — Sprachen und Gebietsschemas, die von Amazon Lex unterstützt werden.
Erforderlich — Nein.
Standardwert —
en_US
. - Configuration
-
Beschreibung — Die Konversationskonfiguration, einschließlich Sitzungsstatus und Willkommensnachrichten. Die Gesamtgröße der JSON-Zeichenfolgendarstellung des
Configuration
Objekts ist auf 10 KB begrenzt.Zulässige Werte —
Configuration
Objekt.Erforderlich — Nein.
Standardwert — Keiner.
- Configuration.SessionState
-
Beschreibung — Der Status der Benutzersitzung mit Amazon Lex v2.
Zulässige Werte —
SessionState
Objekt.Erforderlich — Nein.
Standardwert — Keiner.
- Configuration.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.
- Configuration.SessionState.DialogAction.Type
-
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.
- Configuration.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 denDialogAction.Type
Wert auf festlegenElicitIntent
.Zulässige Werte — Nachrichtenobjekt
Erforderlich — Nein.
Standardwert — Keiner.
- Configuration.WelcomeMessages.Content
-
Beschreibung — Der Text der Willkommensnachricht.
Zulässige Werte — Zeichenfolge.
Erforderlich — Nein.
Standardwert — Keiner.
- Configuration.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
" } ] } } } ] }
Umgang mit ACTION_SUCCESSFUL Ereignissen
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.
- Intent
-
Die Aktion, die der Benutzer ausführen möchte.
- Intent.Name
-
Der Name der Absicht.
- Intent.Slots
-
Eine Karte mit allen Slots für die Absicht. 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 Steckplatzes.
- 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 Antwort des Benutzers, 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 wählen, ob Sie den vom Benutzer eingegebenen Wert verwenden möchten, oder Sie können Amazon Lex v2 den ersten Wert in der
resolvedValues
Liste wä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:
Failed
— Die Lambda-Funktion konnte die Absicht nicht erfüllen.Fulfilled
— Die Lambda-Funktion erfüllte die Absicht.ReadyForFulfillment
— Die Informationen für die Absicht sind vorhanden, und Ihre Lambda-Funktion kann die Absicht erfüllen.
- Intent.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.
Umgang mit 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 |
---|---|
|
Ein oder mehrere Aktionsparameter sind ungültig. Die Fehlermeldung beschreibt den ungültigen Parameter. |
|
Beim Ausführen einer Aktion ist ein Systemfehler aufgetreten. |
|
Ein bestimmter Bot wurde nicht gefunden. |
|
Der Zugriff auf den Bot wurde verweigert. |
|
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:
Nutzung des Amazon Chime SDK für den Anruf. Weitere Informationen finden Sie unter Amazon Chime SDK-Preise
. Verwendung von Amazon Lex für die Interpretation der Sprache der Benutzer. Weitere Informationen finden Sie unter Amazon Lex-Preise für Streaming-Konversationen
. Verwendung von Amazon Polly zum Synthetisieren von Textantworten von Ihrem Bot. Weitere Informationen finden Sie unter Amazon Polly Pricing
.
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.