PutBot - Amazon Lex versione 1

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 rispostaFAILED. 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 il valueElicitationPrompt 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 Il valueElicitationPrompt campo viene specificato quando si crea lo CrustType 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'BadRequestExceptioneccezione.

Quando vuoi aggiornare un bot, imposta il checksum campo sul checksum della revisione più recente della versione. $LATEST Se non specifichi il checksum 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 o false nel childDirected campo. Specificando true nel childDirected 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. Specificando false nel childDirected 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 il childDirected 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 nel abortStatement 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'PutSessionoperazione, si invia un ElicitIntent 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'CreateBotVersionoperazione. 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 i nluIntentConfidenceThreshold 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 parametro false 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 to false 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'idleSessionTTLInSecondselemento in una richiesta di PutBot 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.FallbackIntente AMAZON.KendraSearchIntent vengono inseriti solo se sono configurati per il bot.

È necessario impostare il enableModelImprovements parametro per true 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 come true 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'processBehaviorelemento suBUILD, Amazon Lex crea il bot in modo che possa essere eseguito. Se imposti l'elemento SAVE 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

tags

Un elenco di tag da aggiungere al bot. È possibile aggiungere tag solo quando si crea un bot, non è possibile utilizzare l'PutBotoperazione per aggiornare i tag su un bot. Per aggiornare i tag, utilizza l'operazione TagResource.

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 o false nel childDirected campo. Specificando true nel childDirected 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. Specificando false nel childDirected 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 il childDirected 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

Truese è stata creata una nuova versione del bot. Se il createVersion campo non è stato specificato nella richiesta, il createVersion 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

truese il bot è configurato per inviare le espressioni degli utenti ad Amazon Comprehend per l'analisi del sentiment. Se il detectSentiment campo non è stato specificato nella richiesta, si detectSentiment trova false nella risposta.

Tipo: Booleano

enableModelImprovements

Indica se il bot utilizza miglioramenti di precisione. trueindica 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.FallbackIntentviene inserito se il punteggio di confidenza a tutti gli effetti è inferiore a questo valore. AMAZON.KendraSearchIntentviene 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 di status risposta suBUILDING.

READY_BASIC_TESTINGNello 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 di failureReason 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

tags

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: