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

DieStartBotConversationaction 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.

DieStartBotConversationaction 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, undAmazon Polly -Preiseseiten.

Anmerkung

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.

Wichtig

Die Verwendung von Amazon Lex und Amazon Polly unterliegt denAWSServicebedingungen, einschließlich der spezifischen Bedingungen für dieAWSDienstleistungen für Machine Learning und künstliche Intelligenz.

StartBotConversation Syntax

Das folgende Beispiel zeigt typischStartBotConversationSyntax.

{ "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— DieCallIDeines Teilnehmers derCallDetailsderAWS LambdaAufrufen der -Funktion. DieStartBotConversationaction verwendet diese ID als die des BotsSessionIdaus. 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, wennParticipantTagist vorhanden

Standardwert – Kein

ParticipantTag

Beschreibung— DieParticipantTagvon einem der verbundenen Teilnehmer in derCallDetailsaus.

Zulässige WerteLEG-A

Erforderlich— Nein, wennCallIdist vorhanden

StandardwertParticipantTagder aufgerufenencallLegaus. 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:region:awsAccountId:bot-alias/botId/botAliasIdwobeiregionist die AWS-Region, in der sich Ihr Bot befindet. DieawsAccountIdist die AWS-Konto-ID, in der Ihr Amazon Lex Lex-Bot erstellt wurde. DiebotIdvalue ist der Bezeichner, der dem Bot beim Anlegen zugewiesen hat. Sie finden die Bot-ID in der Amazon Lex Lex-Konsole auf derBot-Angabenangezeigten. DiebotAliasIdist 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 WerteVon Amazon Lex unterstützte Sprachen und Gebietsschemas

Erforderlich— Nein

Standardwerten_US

Konfiguration

Beschreibung— Die Konversationskonfiguration, einschließlich Sitzungsstatus und Willkommensnachrichten. Die Gesamtgröße der JSON-Zeichenfolge-Darstellung derConfiguration-Objekt ist auf 10 KB begrenzt.

Zulässige WerteConfigurationObjekt

Erforderlich— Nein

Standardwert – Kein

Konfiguration.SessionState

Beschreibung— Der Status der Benutzersitzung mit Amazon Lex v2.

Zulässige WerteSessionStateObjekt

Erforderlich— 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 WerteDelegate|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 daswelcomeMessage-Feld müssen Sie das FeldDialogAction.TypeWert aufElicitIntentaus.

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 typischenStartBotConversationAktion

{ "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 dieStartBotConversationAktion

{ "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. DieStartBotConversationaction verwendet die Anruf-ID als die des BotsSessionIdaus. 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öchstenNluConfidencePunktzahl wird zur Absicht für dieSessionStateaus.

-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 derresolvedValues-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 dieStartBotConversationAktion

{ "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_FAILEDevent.

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 wird abgelehnt.

ActionExecutionThrottled

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:SourceAccountundAWS:SourceArnaus. DieAWS:SourceAccountist Ihre AWS-Konto-ID. DieAWS:SourceArnist 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 und4000als 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:

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 Pollyaus.