Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.
Se utilizzi Amazon Lex V1, ti consigliamo di aggiornare i bot ad Amazon Lex V2. Non stiamo più aggiungendo nuove funzionalità alla V1 e consigliamo vivamente di utilizzare la V2 per tutti i nuovi bot.
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à.
PutBot
Crea un bot conversazionale Amazon Lex o sostituisce un bot esistente. Quando crei o aggiorni un bot, ti viene richiesto solo di specificare un nome, una lingua e se il bot è rivolto a bambini di età inferiore ai 13 anni. Puoi usarlo per aggiungere intenti in un secondo momento o per rimuovere intenti da un bot esistente. Quando crei un bot con le informazioni minime, il bot viene creato o aggiornato ma Amazon Lex restituisce la risposta
FAILED
. Puoi creare il bot dopo aver aggiunto uno o più intenti. Per ulteriori informazioni sui bot Amazon Lex, consultaAmazon Lex: come funziona: come funziona.
Se specifichi il nome di un bot esistente, i campi della richiesta sostituiscono i valori esistenti nella $LATEST
versione del bot. Amazon Lex rimuove tutti i campi per i quali non vengono forniti valori nella richiesta, ad eccezione dei privacySettings
campi idleTTLInSeconds
e, che sono impostati sui valori predefiniti. Se non specifichi valori per i campi obbligatori, Amazon Lex genera un'eccezione.
Questa operazione richiede le autorizzazioni per l'operazione lex:PutBot
. Per ulteriori informazioni, consulta Identity and Access Management per Amazon Lex.
Sintassi della richiesta
PUT /bots/name
/versions/$LATEST HTTP/1.1
Content-type: application/json
{
"abortStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"checksum": "string
",
"childDirected": boolean
,
"clarificationPrompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"createVersion": boolean
,
"description": "string
",
"detectSentiment": boolean
,
"enableModelImprovements": boolean
,
"idleSessionTTLInSeconds": number
,
"intents": [
{
"intentName": "string
",
"intentVersion": "string
"
}
],
"locale": "string
",
"nluIntentConfidenceThreshold": number
,
"processBehavior": "string
",
"tags": [
{
"key": "string
",
"value": "string
"
}
],
"voiceId": "string
"
}
Parametri della richiesta URI
La richiesta utilizza i seguenti parametri URI.
- name
-
Il nome del bot. Il nome non fa distinzione tra maiuscole e minuscole.
Vincoli di lunghezza: lunghezza minima di 2. La lunghezza massima è 50 caratteri.
Modello:
^([A-Za-z]_?)+$
Campo obbligatorio: sì
Corpo della richiesta
La richiesta accetta i seguenti dati in formato JSON.
- abortStatement
-
Quando Amazon Lex non è in grado di comprendere l'input dell'utente nel contesto, tenta di richiamare le informazioni alcune volte. Successivamente, Amazon Lex invia il messaggio definito
abortStatement
all'utente e quindi annulla la conversazione. Per impostare il numero di tentativi, utilizza ilvalueElicitationPrompt
campo per il tipo di slot.Ad esempio, in un bot per ordinare pizze, Amazon Lex potrebbe chiedere a un utente «Che tipo di crosta preferisci?» Se la risposta dell'utente non è una delle risposte previste (ad esempio, «crosta sottile», «piatto profondo», ecc.), Amazon Lex tenta di ottenere una risposta corretta ancora qualche volta.
Ad esempio, in un'applicazione per ordinare pizze,
OrderPizza
potrebbe essere uno degli intenti. Questo intento potrebbe richiedere lo slot.CrustType
IlvalueElicitationPrompt
campo viene specificato quando si crea loCrustType
slot.Se è stato definito un intento di fallback, l'istruzione cancel non verrà inviata all'utente, ma verrà utilizzato l'intento di fallback. Per ulteriori informazioni, consulta AMAZON. FallbackIntent.
Tipo: oggetto Statement
Campo obbligatorio: no
- checksum
-
Identifica una revisione specifica della
$LATEST
versione.Quando crei un nuovo bot, lascia il
checksum
campo vuoto. Se si specifica un checksum si ottiene un'BadRequestException
eccezione.Quando vuoi aggiornare un bot, imposta il
checksum
campo sul checksum della revisione più recente della versione.$LATEST
Se non specifichi ilchecksum
campo o se il checksum non corrisponde alla$LATEST
versione, ottieni un'eccezione.PreconditionFailedException
▬Tipo: stringa
Campo obbligatorio: no
- childDirected
-
Per ogni bot Amazon Lex creato con Amazon Lex Model Building Service, devi specificare se l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetto al Children's Online Privacy Protection Act (COPPA) specificando
true
ofalse
nelchildDirected
campo. Specificandotrue
nelchildDirected
campo, confermi che l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetto al COPPA. Specificandofalse
nelchildDirected
campo, confermi che l'uso di Amazon Lex non è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetti al COPPA. Non puoi specificare un valore predefinito per ilchildDirected
campo che non riflette accuratamente se l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzata o destinata, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetta al COPPA.Se l'uso di Amazon Lex si riferisce a un sito Web, programma o altra applicazione rivolta, in tutto o in parte, a bambini di età inferiore ai 13 anni, devi ottenere il consenso genitoriale verificabile richiesto ai sensi del COPPA. Per informazioni sull'uso di Amazon Lex in relazione a siti Web, programmi o altre applicazioni rivolti o destinati, in tutto o in parte, a bambini di età inferiore ai 13 anni, consulta le domande frequenti su Amazon Lex.
Tipo: Booleano
Campo obbligatorio: sì
- clarificationPrompt
-
Quando Amazon Lex non comprende l'intenzione dell'utente, utilizza questo messaggio per ottenere chiarimenti. Per specificare quante volte Amazon Lex deve ripetere la richiesta di chiarimento, utilizza il
maxAttempts
campo. Se Amazon Lex continua a non capire, invia il messaggio nelabortStatement
campo.Quando crei una richiesta di chiarimento, assicurati che suggerisca la risposta corretta dell'utente. Ad esempio, per un bot che ordina pizza e bevande, potresti creare questo messaggio di chiarimento: «Cosa vorresti fare? Puoi dire 'Ordina una pizza' o 'Ordina un drink. '»
Se hai definito un intento di riserva, questo verrà invocato se la richiesta di chiarimento viene ripetuta il numero di volte definito nel campo.
maxAttempts
Per ulteriori informazioni, consulta AMAZON. FallbackIntent.Se non definisci una richiesta di chiarimento, in fase di esecuzione Amazon Lex restituirà un'eccezione 400 Bad Request in tre casi:
-
Richiesta di follow-up: quando l'utente risponde a una richiesta di follow-up ma non ne fornisce l'intenzione. Ad esempio, in risposta a una richiesta di follow-up che dice «Vuoi qualcos'altro oggi?» l'utente dice «Sì». Amazon Lex restituirà un'eccezione 400 Bad Request perché non dispone di un messaggio di chiarimento da inviare all'utente per determinare l'intento.
-
Funzione Lambda: quando si utilizza una funzione Lambda, si restituisce un tipo di dialogo.
ElicitIntent
Poiché Amazon Lex non dispone di una richiesta di chiarimento per ottenere un'intenzione dall'utente, restituisce un'eccezione 400 Bad Request. -
PutSession operazione: quando si utilizza l'
PutSession
operazione, si invia unElicitIntent
tipo di dialogo. Poiché Amazon Lex non dispone di una richiesta di chiarimento per ottenere un'intenzione dall'utente, restituisce un'eccezione 400 Bad Request.
Tipo: oggetto Prompt
Campo obbligatorio: no
-
- createVersion
-
Se impostato su, viene creata
true
una nuova versione numerata del bot. È come chiamare l'CreateBotVersion
operazione. Se non si specificacreateVersion
, l'impostazione predefinita èfalse
.Tipo: Booleano
Campo obbligatorio: no
- description
-
Una descrizione del bot.
▬Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 0. Lunghezza massima di 200.
Campo obbligatorio: no
- detectSentiment
-
Se impostato su
true
utente, gli enunciati vengono inviati ad Amazon Comprehend per l'analisi del sentiment. Se non lo specifichidetectSentiment
, l'impostazione predefinita è.false
Tipo: Booleano
Campo obbligatorio: no
- enableModelImprovements
-
Impostato
true
per consentire l'accesso ai miglioramenti della comprensione del linguaggio naturale.Quando si imposta il
enableModelImprovements
parametro su,true
è possibile utilizzarlo per configurare inluIntentConfidenceThreshold
punteggi di confidenza. Per ulteriori informazioni, vedere Confidence Scores.È possibile impostare il
enableModelImprovements
parametro solo in determinate regioni. Se imposti il parametro sutrue
, il bot ha accesso a miglioramenti della precisione.Le regioni in cui è possibile impostare il
enableModelImprovements
parametrofalse
per la localizzazione en-US sono:-
Stati Uniti orientali (Virginia settentrionale) (us-east-1)
-
Stati Uniti occidentali (Oregon) (us-west-2)
-
Asia Pacifico (Sydney) (ap-southeast-2)
-
UE (Irlanda): eu-west-1
In altre regioni e impostazioni locali, il
enableModelImprovements
parametro è impostato su come impostazione predefinitatrue
. In queste regioni e impostazioni locali, l'impostazione del parametro tofalse
genera un'eccezione.ValidationException
Tipo: Booleano
Campo obbligatorio: no
-
- idleSessionTTLInSeconds
-
Il tempo massimo, in secondi, durante il quale Amazon Lex conserva i dati raccolti in una conversazione.
Una sessione di interazione con l'utente rimane attiva per il periodo di tempo specificato. Se durante questo periodo non si verifica alcuna conversazione, la sessione scade e Amazon Lex elimina tutti i dati forniti prima del timeout.
Ad esempio, supponiamo che un utente scelga l' OrderPizza intento, ma venga distratto a metà dell'ordine. Se l'utente non completa l'ordine entro il tempo specificato, Amazon Lex elimina le informazioni sullo slot raccolte e l'utente deve ricominciare da capo.
Se non includi l'
idleSessionTTLInSeconds
elemento in una richiesta diPutBot
operazione, Amazon Lex utilizza il valore predefinito. Questo vale anche se la richiesta sostituisce un bot esistente.Il valore predefinito è 300 secondi (5 minuti).
Tipo: integer
Intervallo valido: valore minimo pari a 60. Valore massimo pari a 86400.
Campo obbligatorio: no
- intents
-
Un array di oggetti
Intent
. Ogni intento rappresenta un comando che un utente può esprimere. Ad esempio, un bot per ordinare pizze potrebbe supportare un OrderPizza intento. Per ulteriori informazioni, consulta Amazon Lex: come funziona: come funziona.Tipo: matrice di oggetti Intent
Campo obbligatorio: no
- locale
-
Specifica il locale di destinazione per il bot. Qualsiasi intento utilizzato nel bot deve essere compatibile con le impostazioni locali del bot.
Il valore predefinito è
en-US
.▬Tipo: stringa
Valori validi:
de-DE | en-AU | en-GB | en-IN | en-US | es-419 | es-ES | es-US | fr-FR | fr-CA | it-IT | ja-JP | ko-KR
Campo obbligatorio: sì
- nluIntentConfidenceThreshold
-
Determina la soglia in cui Amazon Lex inserirà o entrambi quando restituisce intenti alternativi in una PostTextrisposta PostContento.
AMAZON.FallbackIntent
AMAZON.KendraSearchIntent
AMAZON.FallbackIntent
eAMAZON.KendraSearchIntent
vengono inseriti solo se sono configurati per il bot.È necessario impostare il
enableModelImprovements
parametro pertrue
utilizzare i punteggi di confidenza nelle seguenti regioni.-
Stati Uniti orientali (Virginia settentrionale) (us-east-1)
-
Stati Uniti occidentali (Oregon) (us-west-2)
-
Asia Pacifico (Sydney) (ap-southeast-2)
-
UE (Irlanda): eu-west-1
In altre regioni, il
enableModelImprovements
parametro è impostato cometrue
impostazione predefinita.Ad esempio, supponiamo che un bot sia configurato con la soglia di confidenza di 0,80 e il.
AMAZON.FallbackIntent
Amazon Lex restituisce tre intenti alternativi con i seguenti punteggi di confidenza: intentA (0,70), IntentB (0,60), IntentC (0,50). La risposta dell'operazione sarebbe:PostText
-
AMAZON. FallbackIntent
-
a Tenta
-
Intento B
-
Intento C
Tipo: double
Intervallo valido: valore minimo di 0. Valore massimo di 1.
Campo obbligatorio: no
-
- processBehavior
-
Se imposti l'
processBehavior
elemento suBUILD
, Amazon Lex crea il bot in modo che possa essere eseguito. Se imposti l'elementoSAVE
su Amazon Lex, il bot viene salvato, ma non lo crea.Se non specifichi questo valore, il valore predefinito è
BUILD
.▬Tipo: stringa
Valori validi:
SAVE | BUILD
Campo obbligatorio: no
-
Un elenco di tag da aggiungere al bot. È possibile aggiungere tag solo quando si crea un bot, non è possibile utilizzare l'
PutBot
operazione per aggiornare i tag su un bot. Per aggiornare i tag, utilizza l'operazioneTagResource
.Tipo: matrice di oggetti Tag
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 200 elementi.
Campo obbligatorio: no
- voiceId
-
L'ID vocale Amazon Polly che desideri venga utilizzato da Amazon Lex per le interazioni vocali con l'utente. Le impostazioni locali configurate per la voce devono corrispondere alle impostazioni locali del bot. Per ulteriori informazioni, consulta Voices in Amazon Polly nella Amazon Polly Developer Guide.
▬Tipo: stringa
Campo obbligatorio: no
Sintassi della risposta
HTTP/1.1 200
Content-type: application/json
{
"abortStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"checksum": "string",
"childDirected": boolean,
"clarificationPrompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"createdDate": number,
"createVersion": boolean,
"description": "string",
"detectSentiment": boolean,
"enableModelImprovements": boolean,
"failureReason": "string",
"idleSessionTTLInSeconds": number,
"intents": [
{
"intentName": "string",
"intentVersion": "string"
}
],
"lastUpdatedDate": number,
"locale": "string",
"name": "string",
"nluIntentConfidenceThreshold": number,
"status": "string",
"tags": [
{
"key": "string",
"value": "string"
}
],
"version": "string",
"voiceId": "string"
}
Elementi di risposta
Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.
I dati seguenti vengono restituiti in formato JSON mediante il servizio.
- abortStatement
-
Il messaggio che Amazon Lex utilizza per annullare una conversazione. Per ulteriori informazioni, consulta PutBot.
Tipo: oggetto Statement
- checksum
-
Checksum del bot che hai creato.
▬Tipo: stringa
- childDirected
-
Per ogni bot Amazon Lex creato con Amazon Lex Model Building Service, devi specificare se l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetto al Children's Online Privacy Protection Act (COPPA) specificando
true
ofalse
nelchildDirected
campo. Specificandotrue
nelchildDirected
campo, confermi che l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetto al COPPA. Specificandofalse
nelchildDirected
campo, confermi che l'uso di Amazon Lex non è correlato a un sito Web, programma o altra applicazione indirizzato o destinato, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetti al COPPA. Non puoi specificare un valore predefinito per ilchildDirected
campo che non riflette accuratamente se l'uso di Amazon Lex è correlato a un sito Web, programma o altra applicazione indirizzata o destinata, in tutto o in parte, a bambini di età inferiore ai 13 anni e soggetta al COPPA.Se l'uso di Amazon Lex si riferisce a un sito Web, programma o altra applicazione rivolta, in tutto o in parte, a bambini di età inferiore ai 13 anni, devi ottenere il consenso genitoriale verificabile richiesto ai sensi del COPPA. Per informazioni sull'uso di Amazon Lex in relazione a siti Web, programmi o altre applicazioni rivolti o destinati, in tutto o in parte, a bambini di età inferiore ai 13 anni, consulta le domande frequenti su Amazon Lex.
Tipo: Booleano
- clarificationPrompt
-
I prompt che Amazon Lex utilizza quando non comprende le intenzioni dell'utente. Per ulteriori informazioni, consulta PutBot.
Tipo: oggetto Prompt
- createdDate
-
La data di creazione del bot.
Tipo: Timestamp
- createVersion
-
True
se è stata creata una nuova versione del bot. Se ilcreateVersion
campo non è stato specificato nella richiesta, ilcreateVersion
campo è impostato su false nella risposta.Tipo: Booleano
- description
-
Una descrizione del bot.
▬Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 0. Lunghezza massima di 200.
- detectSentiment
-
true
se il bot è configurato per inviare le espressioni degli utenti ad Amazon Comprehend per l'analisi del sentiment. Se ildetectSentiment
campo non è stato specificato nella richiesta, sidetectSentiment
trovafalse
nella risposta.Tipo: Booleano
- enableModelImprovements
-
Indica se il bot utilizza miglioramenti di precisione.
true
indica che il bot sta utilizzando i miglioramenti, altrimentifalse
.Tipo: Booleano
- failureReason
-
In caso
status
FAILED
affermativo, Amazon Lex fornisce il motivo per cui non è riuscita a creare il bot.▬Tipo: stringa
- idleSessionTTLInSeconds
-
Il periodo massimo di conservazione dei dati raccolti in una conversazione da parte di Amazon Lex. Per ulteriori informazioni, consulta PutBot.
Tipo: integer
Intervallo valido: valore minimo pari a 60. Valore massimo pari a 86400.
- intents
-
Un array di oggetti
Intent
. Per ulteriori informazioni, consulta PutBot.Tipo: matrice di oggetti Intent
- lastUpdatedDate
-
La data in cui il bot è stato aggiornato. Quando crei una risorsa, la data di creazione e la data dell'ultimo aggiornamento coincidono.
Tipo: Timestamp
- locale
-
Il locale di destinazione per il bot.
▬Tipo: stringa
Valori validi:
de-DE | en-AU | en-GB | en-IN | en-US | es-419 | es-ES | es-US | fr-FR | fr-CA | it-IT | ja-JP | ko-KR
- name
-
Il nome del bot.
▬Tipo: stringa
Vincoli di lunghezza: lunghezza minima di 2. La lunghezza massima è 50 caratteri.
Modello:
^([A-Za-z]_?)+$
- nluIntentConfidenceThreshold
-
Il punteggio che determina dove Amazon Lex inserisce o entrambi quando restituisce intenti alternativi in una risposta PostContento PostText.
AMAZON.FallbackIntent
AMAZON.KendraSearchIntent
AMAZON.FallbackIntent
viene inserito se il punteggio di confidenza a tutti gli effetti è inferiore a questo valore.AMAZON.KendraSearchIntent
viene inserito solo se è configurato per il bot.Tipo: double
Intervallo valido: valore minimo di 0. Valore massimo di 1.
- status
-
Quando invii una richiesta per creare un bot con
processBehavior
set toBUILD
, Amazon Lex imposta l'elemento distatus
risposta suBUILDING
.READY_BASIC_TESTING
Nello stato, puoi testare il bot con input utente che corrispondono esattamente alle espressioni configurate per gli intenti e i valori del bot nei tipi di slot.Se Amazon Lex non è in grado di creare il bot, Amazon Lex decide
status
di farloFAILED
. Amazon Lex restituisce il motivo dell'errore nell'elemento difailureReason
risposta.Quando lo
processBehavior
impostiSAVE
, Amazon Lex imposta il codice di stato suNOT BUILT
.Quando il bot è nello
READY
stato, puoi testarlo e pubblicarlo.▬Tipo: stringa
Valori validi:
BUILDING | READY | READY_BASIC_TESTING | FAILED | NOT_BUILT
-
Un elenco di tag associati al bot.
Tipo: matrice di oggetti Tag
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 200 elementi.
- version
-
La versione del bot. Per un nuovo bot, la versione è sempre
$LATEST
.▬Tipo: stringa
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
Modello:
\$LATEST|[0-9]+
- voiceId
-
L'ID vocale Amazon Polly utilizzato da Amazon Lex per l'interazione vocale con l'utente. Per ulteriori informazioni, consulta PutBot.
▬Tipo: stringa
Errori
- BadRequestException
-
La richiesta non è ben formulata. Ad esempio, un valore non è valido o manca un campo obbligatorio. Controlla i valori del campo e riprova.
Codice di stato HTTP: 400
- ConflictException
-
Si è verificato un conflitto nell'elaborazione della richiesta. Riprova la richiesta.
Codice di stato HTTP: 409
- InternalFailureException
-
Si è verificato un errore interno di Amazon Lex. Riprova la richiesta.
Codice di stato HTTP: 500
- LimitExceededException
-
La richiesta ha superato il limite. Riprova la richiesta.
Codice di stato HTTP: 429
- PreconditionFailedException
-
Il checksum della risorsa che stai cercando di modificare non corrisponde al checksum della richiesta. Controlla il checksum della risorsa e riprova.
Codice di stato HTTP: 412
Vedi anche
Per ulteriori informazioni sull'utilizzo di questa API in uno degli AWS SDK specifici della lingua, consulta quanto segue: