Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
L'StartBotConversation
azione stabilisce una conversazione vocale tra un utente finale e il tuo bot Amazon Lex v2. L'utente fornisce le informazioni richieste al bot. Il bot restituisce quindi le informazioni alla funzione Audio Lambda della rete telefonica pubblica commutata (PSTN) e la funzione esegue le attività richieste.
Ad esempio, il bot può riprodurre un messaggio di benvenuto opzionale all'inizio di una conversazione per descrivere brevemente l'attività che la funzione audio Lambda PSTN può eseguire. La conversazione va avanti e indietro tra l'utente e il bot finché il bot non raccoglie le informazioni richieste. Al termine della conversazione, l'SDK Amazon Chime richiama la funzione audio Lambda PSTN con un evento di successo dell'azione, che contiene le informazioni raccolte dal bot. La funzione Lambda audio PSTN elabora le informazioni ed esegue l'operazione richiesta.
Il servizio audio offre interazioni conversazionali realistiche con gli utenti. Ad esempio, gli utenti possono interrompere il bot e rispondere a una domanda prima del termine del prompt audio. Inoltre, gli utenti possono utilizzare qualsiasi combinazione di cifre vocali e DTMF per fornire informazioni. Il bot attende che l'utente fornisca un input prima di rispondere. È possibile configurare per quanto tempo il bot attende che l'utente finisca di parlare prima di interpretare qualsiasi input vocale. L'utente può anche indicare al bot di attendere se ha bisogno di tempo per recuperare informazioni aggiuntive durante una chiamata, come i numeri delle carte di credito.
L'StartBotConversation
azione utilizza Amazon Lex e Amazon Polly per tutta la durata della conversazione con il bot. Si applicano i costi standard di Amazon Lex e Amazon Polly. Per ulteriori informazioni sui prezzi, consulta le pagine dei prezzi delle conversazioni in streaming di Amazon Lex
Nota
Non puoi eseguire questa azione su una chiamata interrotta o su una chiamata che ha partecipato a una riunione Amazon Chime SDK.
Importante
L'uso di Amazon Lex e Amazon Polly è soggetto ai Termini di AWS servizio, inclusi i termini
Argomenti
StartBotConversation sintassi
L'esempio seguente mostra la StartBotConversation
sintassi tipica.
{
"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
-
Descrizione: il
CallID
partecipante all'CallDetails
invocazione della AWS Lambda funzione. L'StartBotConversation
azione utilizza questo ID come quello del bot.SessionId
Tutte le conversazioni con i bot che hanno luogo durante una chiamata condividono la stessa sessione di conversazione. Puoi modificare lo stato della sessione tra il tuo utente e il tuo bot utilizzando Amazon Lex. PutSessionAPI. Per ulteriori informazioni, consulta Gestire le sessioni con l'API Amazon Lex v2 nella Amazon Lex Developer Guide.Valori consentiti: un ID di chiamata valido.
Obbligatorio: no, se
ParticipantTag
è presente.Valore predefinito: nessuno.
- ParticipantTag
-
Descrizione: quella
ParticipantTag
di uno dei partecipanti connessi alCallDetails
.Valori consentiti:
LEG-A
.Obbligatorio: no, se
CallId
è presente.Valore predefinito:
ParticipantTag
quello richiamatocallLeg
. Ignorato se si specifica.CallDetails
- BotAliasArn
-
Descrizione: l'alias ARN del bot Lex. È necessario creare il bot nella stessa regione AWS dell'applicazione audio PSTN. Un alias bot Amazon Lex valido ha questo formato:
arn:aws:lex:
,region
:awsAccountId
:bot-alias/botId
/botAliasId
dov'è la regione AWS in cui risiede il bot.region
è l'ID dell'account AWS in cui viene creato il bot Amazon Lex. IlawsAccountId
botId
valore è l'identificatore assegnato al bot al momento della sua creazione. Puoi trovare l'ID del bot nella console Amazon Lex nella pagina dei dettagli del bot.botAliasId
È l'identificatore assegnato all'alias del bot al momento della creazione. Puoi trovare l'ID alias del bot nella console Amazon Lex nella pagina Alias.Valori consentiti: un ARN del bot valido.
Obbligatorio: sì.
Valore predefinito: Nessuno.
- LocaleId
-
Descrizione: l'identificatore del locale che hai usato per il bot. Per un elenco di impostazioni locali e codici di lingua, consulta Lingue e impostazioni locali supportate da Amazon Lex.
Valori consentiti: lingue e impostazioni locali supportate da Amazon Lex.
Obbligatorio: no.
Valore predefinito:
en_US
. - Configuration
-
Descrizione: la configurazione della conversazione, inclusi lo stato della sessione e i messaggi di benvenuto. La dimensione totale della rappresentazione in stringa JSON dell'
Configuration
oggetto è limitata a 10 KB.Valori consentiti:
Configuration
oggetto.Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.SessionState
-
Descrizione: lo stato della sessione dell'utente con Amazon Lex v2.
Valori consentiti:
SessionState
oggetto.Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.SessionState.SessionAttributes
-
Descrizione: una mappa delle coppie chiave/valore che rappresentano informazioni di contesto specifiche della sessione. Questa mappa contiene le informazioni sull'applicazione trasferite tra Amazon Lex v2 e un'applicazione client.
Valori consentiti: mappa da stringa a stringa.
Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.SessionState.DialogAction.Type
-
Descrizione: l'azione successiva che il bot compie nelle sue interazioni con l'utente. Valori possibili:
La delega di Amazon Lex v2 determina l'azione successiva.
ElicitIntentL'azione successiva suscita un'intenzione da parte dell'utente.
Valori consentiti — |
Delegate
.ElicitIntent
Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.WelcomeMessages
-
Descrizione: un elenco di messaggi da inviare all'utente all'inizio della conversazione. Se si imposta il
welcomeMessage
campo, è necessario impostare ilDialogAction.Type
valore suElicitIntent
.Valori consentiti: oggetto del messaggio
Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.WelcomeMessages.Content
-
Descrizione: il testo del messaggio di benvenuto.
Valori consentiti: stringa.
Obbligatorio: no.
Valore predefinito: Nessuno.
- Configuration.WelcomeMessages.ContentType
-
Descrizione: indica il tipo di messaggio di benvenuto.
Valori consentiti —
PlainText
|SSML
PlainText— Il messaggio contiene testo UTF-8 semplice.
SSML — Il messaggio contiene testo formattato per l'output vocale.
Obbligatorio: Sì.
Valore predefinito: Nessuno.
Utilizzo di StartBotConversation action
L'esempio seguente mostra un'StartBotConversation
azione tipica.
{
"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
"
}
]
}
}
}
]
}
Manipolazione ACTION_SUCCESSFUL events
L'esempio seguente mostra un ACTION_SUCCESSFUL
evento tipico dell'StartBotConversation
azione.
{
"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
-
Il risultato della conversazione tra l'utente e il bot.
- SessionId
-
L'identificatore della sessione di conversazione del bot. Quando un utente inizia una conversazione con il tuo bot, Amazon Lex crea una sessione. Una sessione racchiude le informazioni scambiate tra l'utente e il bot. L'
StartBotConversation
azione utilizza l'ID della chiamata come quello del bot.SessionId
Puoi modificare lo stato della sessione tra il tuo utente e il tuo bot usando Lex PutSessionAPI. Per ulteriori informazioni, consulta Gestire le sessioni con l'API Amazon Lex V2 nella Amazon Lex Developer Guide. - SessionState
-
Lo stato della sessione Amazon Lex v2 dell'utente.
- SessionState.SessionAttributes
-
Mappa di coppie chiave/valore che rappresentano informazioni di contesto specifiche della sessione. La mappa contiene le informazioni sulle conversazioni dei bot trasmesse tra la funzione Lambda collegata al bot e la funzione Lambda audio PSTN.
- Interpretazioni
-
Un elenco di intenti derivati da Amazon Lex che possono soddisfare l'affermazione del cliente. L'intento con il
NluConfidence
punteggio più alto diventa l'intento per.SessionState
- Interpretazioni. NluConfidence.Punteggio
-
Un punteggio che indica quanto Amazon Lex v2 sia sicuro che un intento soddisfi l'intento di un utente. Intervalli compresi tra 0,00 e 1,00. I punteggi più alti indicano una maggiore confidenza.
- Intent
-
L'azione che l'utente desidera eseguire.
- Intent.Name
-
Il nome dell'intento.
- Intent.Slots
-
Una mappa di tutti gli slot relativi all'intento. Il nome dello slot corrisponde al valore dello slot. Se uno slot non è stato riempito, il valore è nullo.
- Intent.Slots.Value
-
Il valore dello slot.
- Intent.Slots.Values
-
Un elenco di uno o più valori forniti dall'utente per lo slot.
- Intent.Slots.Value.OriginalValue
-
Il testo della risposta dell'utente, inserito per lo slot.
- Intent.Slots.Value.InterpretedValue
-
Descrizione: il valore che Amazon Lex v2 determina per lo slot. Il valore effettivo dipende dall'impostazione della strategia di selezione del valore del bot. Puoi scegliere di utilizzare il valore inserito dall'utente oppure puoi fare in modo che Amazon Lex v2 scelga il primo valore nell'
resolvedValues
elenco. - Intent.Slots.Value.ResolvedValues
-
Un elenco di valori aggiuntivi che Amazon Lex v2 riconosce per lo slot.
- Intent.State
-
Descrizione: informazioni sull'adempimento dell'intento. Valori possibili:
Failed
— La funzione Lambda non è riuscita a soddisfare l'intento.Fulfilled
— La funzione Lambda ha soddisfatto l'intento.ReadyForFulfillment
— Le informazioni relative all'intento sono presenti e la funzione Lambda può soddisfare l'intento.
- Intent.ConfirmationState
-
Descrizione: indica la conferma dell'intento. Valori possibili:
Confermato: l'intento è soddisfatto.
Negato: l'utente ha risposto «no» alla richiesta di conferma.
Nessuno: all'utente non è stata richiesta la conferma oppure all'utente è stata richiesta ma non ha confermato o negato la richiesta.
Gestione ACTION_FAILED events
L'esempio seguente mostra un ACTION_FAILED
evento tipico dell'StartBotConversation
azione.
{
"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
Una stringa che identifica in modo univoco una condizione di errore.
- ErrorMessage
Una descrizione generica della condizione di errore.
Codici di errore
La tabella seguente elenca i messaggi di errore che una funzione Lambda può restituire in un ACTION_FAILED
evento.
Errore | Descrizione |
---|---|
|
Uno o più parametri di azione non sono validi. Il messaggio di errore descrive il parametro non valido. |
|
Si è verificato un errore di sistema durante l'esecuzione di un'azione. |
|
Un bot specificato non è stato trovato. |
|
L'accesso al bot è negato. |
|
Il limite del servizio di conversazione con i bot è stato superato. Il messaggio di errore descrive il limite di servizio specifico superato. |
Concessione delle autorizzazioni per l'utilizzo di un bot
L'esempio seguente concede all'SDK Amazon Chime l'autorizzazione a chiamare Amazon Lex. StartConversation APIs. È necessario concedere esplicitamente al servizio audio l'autorizzazione a utilizzare il bot. Il blocco delle condizioni è richiesto per i responsabili del servizio. Il blocco condition deve utilizzare le chiavi di contesto globali AWS:SourceAccount
eAWS:SourceArn
. AWS:SourceAccount
È l'ID del tuo account AWS. AWS:SourceArn
È l'ARN della risorsa dell'applicazione audio PSTN che richiama il bot Lex.
{
"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
"
}
}
}
]
}
Configurazione dei timeout vocali e DTMF
È possibile configurare i timeout vocali e DTMF durante l'acquisizione dell'input dell'utente. Puoi configurare i timeout tramite gli attributi di sessione quando inizi una conversazione con un bot e sovrascriverli nella funzione Lambda del tuo bot Lex, se necessario. Amazon Lex ti consente di impostare più slot per un intento o per i bot. Poiché puoi specificare che gli attributi di sessione si applicano all'intento e al livello di slot, puoi specificare che l'attributo sia impostato solo quando si sta raccogliendo un determinato tipo di input. Ad esempio, puoi specificare un timeout più lungo quando raccogli un numero di account rispetto a quando raccogli una data. Puoi usare i caratteri jolly nella chiave dell'attributo di sessione.
Ad esempio, per impostare un timeout vocale per tutti gli slot a tutti gli effetti su 4000 millisecondi, puoi fornire un attributo di sessione utilizzando: x-amz-lex:start-timeout-ms:*:*
come nome dell'attributo di sessione e 4000
come valore dell'attributo di sessione. Per ulteriori informazioni, consulta Configurazione dei timeout per l'acquisizione dell'input dell'utente nella Amazon Lex Developer Guide.
Utilizzo degli ingressi DTMF durante una conversazione
I bot di Amazon Lex supportano l'input vocale e da tastiera durante una conversazione. I bot interpretano gli input da tastiera come cifre DTMF. Puoi richiedere ai contatti di terminare l'immissione con un tasto cancelletto (#) e di annullare una conversazione usando il tasto asterisco (*). Se non chiedi ai clienti di terminare l'immissione con il tasto cancelletto, Lex smette di attendere la pressione di altri tasti dopo 5 secondi.
Quote di fatturazione e servizio
AWS ti addebita i seguenti costi:
Utilizzo dell'SDK Amazon Chime per la chiamata. Per ulteriori informazioni, consulta i prezzi di Amazon Chime SDK
. Utilizzo di Amazon Lex per l'interpretazione del parlato degli utenti. Per ulteriori informazioni, consulta i prezzi delle conversazioni in streaming di Amazon Lex
. Utilizzo di Amazon Polly per sintetizzare le risposte di testo del tuo bot. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon Polly
.
È inoltre necessario conoscere le seguenti quote di servizio:
L'SDK Amazon Chime prevede una quota di servizio per il numero massimo di bot Amazon Lex utilizzabili con l'azione audio PSTN. StartBotConversation Per ulteriori informazioni, consulta il trunking SIP e le quote vocali, nella Guida generale.AWS
Amazon Lex ha una quota di servizio per il numero massimo di conversazioni vocali simultanee per bot Lex. Puoi contattare il team di assistenza di Amazon Lex per aumentare le quote. Per ulteriori informazioni, consulta le linee guida e le quote di Amazon Lex nella Amazon Lex Developer Guide.
Amazon Polly dispone di una quota di servizi per la sintesi delle risposte di testo. Puoi contattare il team di assistenza di Amazon Polly per aumentare le quote. Per ulteriori informazioni sulle quote dei servizi Amazon Polly, consulta Quotas in Amazon Polly, nella Amazon Polly Developer Guide.