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
DieStartBotConversation
action 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 Public Switched Telephone Network (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 die Aufgabe zu beschreiben, die die PSTN Audio Lambda-Funktion ausführen kann. Die Konversation wird zwischen dem Benutzer und dem Bot hin und her geführt, bis der Bot die erforderlichen Informationen sammelt. 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 PSTN Audio-Dienst bietet eine lebensechte Konversationsinteraktion mit Ihren Benutzern. Benutzer können beispielsweise 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 gibt, bevor er antwortet. Sie können konfigurieren, wie lange der Bot darauf wartet, dass der Benutzer mit dem Sprechen fertig ist, bevor er eine Spracheingabe interpretiert. Der Benutzer kann den Bot auch anweisen zu warten, wenn er Zeit benötigt, um während eines Anrufs zusätzliche Informationen wie Kreditkartennummern abzurufen.
DieStartBotConversation
action verwendet Amazon Lex und Amazon Polly für die Dauer der Bot-Konversation. Es gelten die Standardkosten für Amazon Lex und Amazon Polly. Weitere Informationen zu -Preisen finden Sie in derPreise für Amazon Lex Streaming-Gespräche
Sie können diese Aktion nicht für einen überbrückten Anruf oder für einen Anruf ausführen, der einem Amazon Chime Chime-Meeting beigetreten ist.
Die Verwendung von Amazon Lex und Amazon Polly unterliegt denAWSServicebedingungen
Themen
StartBotConversation Syntax
Das folgende Beispiel zeigt typischStartBotConversation
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 derCallDetails
derAWS LambdaAufrufen der -Funktion. DieStartBotConversation
action verwendet diese ID als die des BotsSessionId
aus. Alle Bot-Konversationen, die während eines Anrufs stattfinden, haben dieselbe Konversationssitzung. Sie können den Sitzungsstatus zwischen Ihrem Benutzer und Ihrem Bot ändern, indem Sie denAmazon Lex PutSession API. Weitere Informationen finden Sie unterVerwaltung von Sitzungen mit der Amazon Lex v2-APIimAmazon-Lex-Entwicklerhandbuchaus.Zulässige Werte— Eine gültige Anruf-ID
Erforderlich— Nein, wenn
ParticipantTag
ist vorhandenStandardwert – Kein
- ParticipantTag
-
Beschreibung— Die
ParticipantTag
von einem der verbundenen Teilnehmer in derCallDetails
aus.Zulässige Werte–
LEG-A
Erforderlich— Nein, wenn
CallId
ist vorhandenStandardwert–
ParticipantTag
der aufgerufenencallLeg
aus. Wird ignoriert, wenn Sie angebenCallDetails
- BotAliasArn
-
Beschreibung— Der Bot-Alias-ARN Ihres Lex-Bot. Sie müssen den Bot in derselben AWS-Region erstellen, in der sich Ihre PSTN Audio-Anwendung befindet. Ein gültiger Amazon Lex Lex-Bot-Alias hat dieses Format:
arn:aws:lex:
wobeiregion
:awsAccountId
:bot-alias/botId
/botAliasId
ist die AWS-Region, in der sich Ihr Bot befindet. Dieregion
ist die AWS-Konto-ID, in der Ihr Amazon Lex Lex-Bot erstellt wurde. DieawsAccountId
botId
value ist der Bezeichner, der dem Bot beim Anlegen zugewiesen hat. Sie finden die Bot-ID in der Amazon Lex Lex-Konsole auf derBot-Angabenangezeigten. DiebotAliasId
ist der Bezeichner, der dem Bot-Alias beim Anlegen zugewiesen hat. Sie finden die Bot-Alias-ID in der Amazon Lex Lex-Konsole auf derAliasnamenangezeigten.Zulässige Werte— Ein gültiger Bot-ARN
Erforderlich—Yes
Standardwert—Keine
- LocaleId
-
Beschreibung— Die Kennung des Gebietsschemas, das Sie für Ihren Bot verwendet haben. Für eine Liste der Gebietsschemas und Sprachcodes siehe.Von Amazon Lex unterstützte Sprachen und Gebietsschemasaus.
Zulässige Werte–Von Amazon Lex unterstützte Sprachen und Gebietsschemas
Erforderlich— Nein
Standardwert–
en_US
- Konfiguration
-
Beschreibung— Die Konversationskonfiguration, einschließlich Sitzungsstatus und Willkommensnachrichten. Die Gesamtgröße der JSON-Zeichenfolge-Darstellung der
Configuration
-Objekt ist auf 10 KB begrenzt.Zulässige Werte–
Configuration
ObjektErforderlich— Nein
Standardwert – Kein
- Konfiguration.SessionState
-
Beschreibung— Der Status der Benutzersitzung mit Amazon Lex v2.
Zulässige Werte–
SessionState
ObjektErforderlich— Nein
Standardwert – Kein
- Konfiguration.SessionStateaus.SessionAttributes
-
Beschreibung— Eine Map der Schlüssel/Wert-Paare, die sitzungsspezifische Kontextinformationen darstellen. Diese Zuordnung enthält Anwendungsinformationen, die zwischen Amazon Lex v2 und einer Client-Anwendung weitergegeben werden.
Zulässige Werte— Abbildung einer Zeichenfolge auf eine Zeichenfolge
Erforderlich— Nein
Standardwert – Kein
- Konfiguration.SessionStateaus.DialogAction.Typ
-
Beschreibung— Die nächste Aktion, die der Bot bei seinen Interaktionen mit dem Benutzer ausführt. Mögliche Werte:
DelegierenAmazon Lex v2 bestimmt die nächste Aktion.
ElicitIntentDie nächste Aktion löst eine Absicht des Benutzers aus.
Zulässige Werte–
Delegate
|ElicitIntent
Erforderlich— Nein
Standardwert – Kein
- Konfiguration.WelcomeMessages
-
Beschreibung— Eine Liste von Nachrichten, die zu Beginn der Konversation an den Benutzer gesendet werden sollen. Wenn Sie das
welcomeMessage
-Feld müssen Sie das FeldDialogAction.Type
Wert aufElicitIntent
aus.Zulässige Werte— Objekt für Message
Erforderlich— Nein
Standardwert – Kein
- Konfiguration.WelcomeMessages.Content
-
Beschreibung— Der Text der Willkommensnachricht.
Zulässige Werte– Zeichenfolge
Erforderlich— Nein
Standardwert – Kein
- Konfiguration.WelcomeMessagesaus.ContentType
-
Beschreibung— Zeigt den Typ der Willkommensnachricht an.
Zulässige Werte–
PlainText
|SSML
PlainText— Die Mitteilung enthält UTF-8-Klartext.
SSML— Die Mitteilung enthält für Sprachausgaben formatierten Text.
Erforderlich— Yes
Standardwert – Kein
Verwendung der StartBotConversation Aktion
Das folgende Beispiel zeigt einen typischenStartBotConversation
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_SUCCE
Das folgende Beispiel zeigt einen typischenACTION_SUCCESSFUL
-Ereignis für dieStartBotConversation
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 startet, erstellt Amazon Lex eine Sitzung. Eine Sitzung fasst die zwischen Ihrem Benutzer und dem Bot ausgetauschten Informationen zusammen. Die
StartBotConversation
action verwendet die Anruf-ID als die des BotsSessionId
aus. Sie können den Sitzungsstatus zwischen Ihrem Benutzer und Ihrem Bot ändern, indem Sie Lex verwenden PutSession API. Weitere Informationen finden Sie unterVerwalten von Sitzungen mit der Amazon Lex V2-APIimAmazon-Lex-Entwicklerhandbuchaus. - SessionState
-
Der Status der Amazon Lex v2-Sitzung des Benutzers.
- SessionState.SessionAttributes
-
Zuordnung der Schlüssel/Wert-Paare, die sitzungsspezifische Kontextinformationen darstellen. Die Map enthält Bot-Konversationsinformationen, die zwischen der an Ihren Bot angeschlossenen Lambda-Funktion und der PSTN Audio Lambda-Funktion weitergegeben werden.
- -Interpretation
-
Eine Liste von Absichten, die von Amazon Lex abgeleitet wurden und die Äußerung eines Kunden erfüllen können. Die Absicht mit dem höchsten
NluConfidence
Punktzahl wird zur Absicht für dieSessionState
aus. - -Interpretation.NluConfidence.Ergebnis
-
Eine Bewertung, die angibt, wie sicher Amazon Lex v2 ist, dass eine Absicht die Absicht eines Benutzers erfüllt. Im Bereich zwischen 0,00 und 1,00 sind zulässig. Höhere Punktzahlen bedeuten ein höheres Vertrauen.
- Absicht
-
Die Aktion, die der Benutzer ausführen möchte.
- Absicht.Name
-
Der Name der Absicht.
- Absicht.Slots
-
Eine Abbildung aller Slots für die Absicht. Der Name des Slots wird dem Wert des Slots zugeordnet. Wenn ein Slot nicht gefüllt wurde, ist der Wert Null.
- Intent.Slots.Value
-
Der Wert des Steckplatzes.
- Intent.Slots.Werte
-
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 Slot bestimmt. Der tatsächliche Wert ist von der Einstellung der Werteauswahlstrategie des Bots abhängig. Sie können den vom Benutzer eingegebenen Wert verwenden, oder Sie können Amazon Lex v2 den ersten Wert in der
resolvedValues
-Liste. - Intent.Slots.Value.ResolvedValues
-
Eine Liste zusätzlicher Werte, die Amazon Lex v2 für den Slot erkennt.
- Intent.State
-
Beschreibung— Erfüllungsinformationen für die Absicht. Mögliche Werte:
Fehlgeschlagen— Die Lambda-Funktion erfüllte die Absicht nicht.
Erfüllt— Die Lambda-Funktion erfüllte die Absicht.
ReadyForFulfillment— Die Informationen für die Absicht sind vorhanden, und IhreLambda-Funktion kann die Absicht erfüllen.
- Absicht.ConfirmationState
-
Beschreibung— Zeigt eine Bestätigung der Absicht an. Mögliche Werte:
Bestätigt— Die Absicht ist erfüllt.
Nicht zulässig— Der Benutzer hat auf die Bestätigungsaufforderung mit „Nein“ geantwortet.
Keine— Der Benutzer wurde nicht zur Bestätigung aufgefordert, oder der Benutzer wurde aber aufgeforderthat nichtbestätigen oder verweigern Sie die Aufforderung.
Umgang mit ACTION_FAILED
Das folgende Beispiel zeigt einen typischenACTION_FAILED
-Ereignis für dieStartBotConversation
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 generische Beschreibung der Fehlerbedingung.
Fehlercodes
In der folgenden Tabelle sind die Fehlermeldungen aufgeführt, die eine Lambda-Funktion in einerACTION_FAILED
event.
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 wird abgelehnt. |
|
Das Limit für Bot-Konversationsdienste wurde überschritten. Die Fehlermeldung beschreibt, dass das spezifische Service-Limit überschritten wurde. |
Gewähren von -Berechtigungen zur Nutzung eines Bot
Im folgenden Beispiel wird Amazon Chime die Berechtigung erteilt, Amazon Lex aufzurufen.StartConversationAPIs. Sie müssen dem PSTN Audiodienst ausdrücklich die Berechtigung erteilen, Ihren Bot zu verwenden. Der Bedingungsblock ist für Serviceprinzipale erforderlich. Der Bedingungsblock muss die globalen Kontextschlüssel verwendenAWS:SourceAccount
undAWS:SourceArn
aus. DieAWS:SourceAccount
ist Ihre AWS-Konto-ID. DieAWS: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
" } } } ] }
Sprach- und DTMF Timeouts konfigurieren
Sie können die Sprach- und DTMF-Timeouts beim Erfassen von Benutzereingaben konfigurieren. Sie können Timeouts über Sitzungsattribute konfigurieren, wenn Sie eine Konversation mit einem Bot beginnen, und diese bei Bedarf in der Lambda-Funktion Ihres Lex-Bot überschreiben. Mit Amazon Lex können Sie mehrere Slots für eine Absicht oder Bots festlegen. 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. Beispielsweise können Sie eine längere Zeitüberschreitung angeben, wenn Sie eine Kontonummer erfassen, als wenn Sie ein Datum erfassen. Sie können Platzhalter im Sitzungsattributschlüssel verwenden.
Um beispielsweise ein Sprach-Timeout für alle Slots für alle Intents auf 4000 Millisekunden festzulegen, können Sie ein Sitzungsattribut angeben, indem Sie Folgendes verwenden:x-amz-lex:start-timeout-ms:*:*
als Name des Sitzungsattributs und4000
als Sitzungsattributwert. Weitere Informationen finden Sie unterTimeouts für die Erfassung von Benutzereingaben konfigurierenimAmazon-Lex-Entwicklerhandbuchaus.
Verwenden von DTMF-Eingaben während einer Konversation
Amazon Lex Lex-Bots unterstützen Sprach- und Tastatureingaben während eines Gesprächs. Die Bots interpretieren Tastatureingaben als DTMF-Ziffern. Sie können Kontakte auffordern, ihre Eingabe mit einer Raute-Taste (#) zu beenden und mit der Sterntaste (#) abzubrechen. Wenn Sie Kunden nicht auffordern, ihre Eingabe mit der Raute-Taste zu beenden, wartet Lex nach 5 Sekunden nicht mehr auf zusätzliche Tastendruckereignisse.
Abrechnung und Servicekontingente
AWSstellt Ihnen die folgenden Kosten in Rechnung:
Amazon Chime SDK-Nutzung für den Anruf. Weitere Informationen finden Sie unterAmazon Chime SDK-Preise
aus. Verwendung von Amazon Lex zur Interpretation der Benutzersprache. Weitere Informationen finden Sie unterPreise für Amazon Lex Streaming-Gespräche
aus. Verwendung von Amazon Polly zur Synthese von Textantworten von Ihrem Bot. Weitere Informationen finden Sie im .Amazon Polly -Preise
aus.
Sie müssen auch die folgenden Servicekontingenten kennen:
Amazon Lex hat ein Servicekontingent für die maximale Anzahl gleichzeitiger Sprachgespräche pro Lex-Bot. Sie können das Amazon Lex Lex-Serviceteam für Kontingenterhöhungen kontaktieren. Weitere Informationen hierzu finden Sie im Amazon LexRichtlinien und KontingenteimAmazon-Lex-Entwicklerhandbuchaus.
Amazon Polly hat ein Servicekontingent für die Synthese von Textantworten. Sie können das Amazon Polly Polly-Serviceteam für Kontingenterhöhungen kontaktieren. Weitere Informationen zu Amazon Polly-Servicekontingenten für finden Sie unterKontingente in Amazon Polly
aus.