Avviso di fine del supporto: il 15 settembre 2025 AWS interromperà il supporto per Amazon Lex V1. Dopo il 15 settembre 2025, non potrai più accedere alla console Amazon Lex V1 o alle risorse Amazon Lex V1. Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.
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à.
PutIntent
Crea un intento o sostituisce un intento esistente.
Per definire l'interazione tra l'utente e il bot, si utilizzano uno o più intenti. Per un bot che ordina pizze, ad esempio, dovresti creare un OrderPizza
intento.
Per creare un intento o sostituire un intento esistente, devi fornire quanto segue:
-
Nome dell'intento. Ad esempio
OrderPizza
. -
Esempi di enunciati. Ad esempio, «Posso ordinare una pizza, per favore». e «Voglio ordinare una pizza».
-
Informazioni da raccogliere. Specificate i tipi di slot per le informazioni che il bot richiederà all'utente. È possibile specificare tipi di slot standard, come una data o un'ora, o tipi di slot personalizzati come la dimensione e la crosta di una pizza.
-
Come verrà realizzato l'intento. È possibile fornire una funzione Lambda o configurare l'intento di restituire le informazioni sull'intento all'applicazione client. Se usi una funzione Lambda, quando tutte le informazioni sull'intento sono disponibili, Amazon Lex richiama la tua funzione Lambda. Se configuri l'intenzione di restituire le informazioni sull'intento all'applicazione client.
È possibile specificare altre informazioni opzionali nella richiesta, ad esempio:
-
Una richiesta di conferma per chiedere all'utente di confermare un'intenzione. Ad esempio, «Devo ordinare la tua pizza?»
-
Una dichiarazione conclusiva da inviare all'utente dopo che l'intento è stato raggiunto. Ad esempio, «Ho ordinato la tua pizza».
-
Una richiesta di follow-up che richiede all'utente attività aggiuntive. Ad esempio, chiedendo «Vuoi ordinare qualcosa da bere con la tua pizza?»
Se specifichi un nome di intento esistente per aggiornare l'intento, Amazon Lex sostituisce i valori nella $LATEST
versione dell'intento con i valori nella richiesta. Amazon Lex rimuove i campi che non fornisci nella richiesta. Se non specifichi i campi obbligatori, Amazon Lex genera un'eccezione. Quando aggiorni la $LATEST
versione di un intento, il status
campo di qualsiasi bot che utilizza la $LATEST
versione dell'intento viene impostato su. NOT_BUILT
Per ulteriori informazioni, consulta Amazon Lex: come funziona.
Questa operazione richiede le autorizzazioni per l'operazione lex:PutIntent
.
Sintassi della richiesta
PUT /intents/name
/versions/$LATEST HTTP/1.1
Content-type: application/json
{
"checksum": "string
",
"conclusionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"confirmationPrompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"createVersion": boolean
,
"description": "string
",
"dialogCodeHook": {
"messageVersion": "string
",
"uri": "string
"
},
"followUpPrompt": {
"prompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"rejectionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
}
},
"fulfillmentActivity": {
"codeHook": {
"messageVersion": "string
",
"uri": "string
"
},
"type": "string
"
},
"inputContexts": [
{
"name": "string
"
}
],
"kendraConfiguration": {
"kendraIndex": "string
",
"queryFilterString": "string
",
"role": "string
"
},
"outputContexts": [
{
"name": "string
",
"timeToLiveInSeconds": number
,
"turnsToLive": number
}
],
"parentIntentSignature": "string
",
"rejectionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"sampleUtterances": [ "string
" ],
"slots": [
{
"defaultValueSpec": {
"defaultValueList": [
{
"defaultValue": "string
"
}
]
},
"description": "string
",
"name": "string
",
"obfuscationSetting": "string
",
"priority": number
,
"responseCard": "string
",
"sampleUtterances": [ "string
" ],
"slotConstraint": "string
",
"slotType": "string
",
"slotTypeVersion": "string
",
"valueElicitationPrompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
}
}
]
}
Parametri della richiesta URI
La richiesta utilizza i seguenti parametri URI.
- name
-
Il nome dell'intento. Il nome non fa distinzione tra maiuscole e minuscole.
Il nome non può corrispondere a un nome di intento incorporato o a un nome di intento integrato con «AMAZON». rimosso. Ad esempio, poiché esiste un intento integrato chiamato
AMAZON.HelpIntent
, non è possibile creare un intento personalizzato chiamato.HelpIntent
Per un elenco di intenti incorporati, consulta la sezione relativa agli intenti incorporati standard
in Alexa Skills Kit. Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 100.
Modello:
^([A-Za-z]_?)+$
Campo obbligatorio: sì
Corpo della richiesta
La richiesta accetta i seguenti dati in formato JSON.
- checksum
-
Identifica una revisione specifica della versione.
$LATEST
Quando crei un nuovo intento, lascia il
checksum
campo vuoto. Se si specifica un checksum si ottiene un'BadRequestException
eccezione.Quando desideri aggiornare un intento, 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: string
Campo obbligatorio: no
- conclusionStatement
-
L'istruzione che desideri che Amazon Lex trasmetta all'utente dopo che l'intento è stato soddisfatto con successo dalla funzione Lambda.
Questo elemento è rilevante solo se si fornisce una funzione Lambda in.
fulfillmentActivity
Se restituisci l'intento all'applicazione client, non puoi specificare questo elemento.Nota
I
followUpPrompt
e siconclusionStatement
escludono a vicenda. È possibile specificarne solo uno.Tipo: oggetto Statement
Campo obbligatorio: no
- confirmationPrompt
-
Richiede all'utente di confermare l'intento. Questa domanda dovrebbe avere una risposta sì o no.
Amazon Lex utilizza questo prompt per garantire che l'utente riconosca che l'intento è pronto per l'adempimento. Ad esempio, con l'
OrderPizza
intento, potresti voler confermare che l'ordine è corretto prima di effettuarlo. Per altri scopi, ad esempio intenti a rispondere semplicemente alle domande degli utenti, potrebbe non essere necessario chiedere conferma all'utente prima di fornire le informazioni.Nota
È necessario fornire sia il che il
rejectionStatement
confirmationPrompt
, oppure nessuno dei due.Tipo: oggetto Prompt
Campo obbligatorio: no
- createVersion
-
Se impostato su
true
una nuova versione numerata dell'intento, viene creata. È lo stesso che chiamare l'CreateIntentVersion
operazione. Se non si specificacreateVersion
, l'impostazione predefinita èfalse
.Tipo: Booleano
Campo obbligatorio: no
- description
-
Una descrizione dell'intento.
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 0. Lunghezza massima di 200.
Campo obbligatorio: no
- dialogCodeHook
-
Specifica una funzione Lambda da richiamare per ogni input dell'utente. È possibile richiamare questa funzione Lambda per personalizzare l'interazione dell'utente.
Ad esempio, supponiamo che il bot determini che l'utente è John. La tua funzione Lambda potrebbe recuperare le informazioni di John da un database di backend e precompilare alcuni valori. Ad esempio, se scopri che John è intollerante al glutine, puoi impostare lo slot di intenti corrispondente su true.
GlutenIntolerant
Potresti trovare il numero di telefono di John e impostare l'attributo di sessione corrispondente.Tipo: oggetto CodeHook
Campo obbligatorio: no
- followUpPrompt
-
Amazon Lex utilizza questo prompt per sollecitare attività aggiuntive dopo aver soddisfatto un intento. Ad esempio, una volta raggiunto l'
OrderPizza
intento, potresti richiedere all'utente di ordinare un drink.L'azione intrapresa da Amazon Lex dipende dalla risposta dell'utente, come segue:
-
Se l'utente dice «Sì», risponde con la richiesta di chiarimento configurata per il bot.
-
se l'utente dice «Sì» e continua con un'espressione che fa scattare un intento, avvia una conversazione sull'intento.
-
Se l'utente dice «No», risponde con la dichiarazione di rifiuto configurata per la richiesta di follow-up.
-
Se non riconosce l'enunciato, ripete nuovamente la richiesta di follow-up.
Il
followUpPrompt
campo e il campo si escludono aconclusionStatement
vicenda. È possibile specificarne solo uno.Tipo: oggetto FollowUpPrompt
Campo obbligatorio: no
-
- fulfillmentActivity
-
Obbligatorio. Descrive come viene soddisfatto l'intento. Ad esempio, dopo che un utente ha fornito tutte le informazioni per un ordine di pizza,
fulfillmentActivity
definisce in che modo il bot effettua un ordine presso una pizzeria locale.Puoi configurare Amazon Lex per restituire tutte le informazioni sull'intento all'applicazione client o indirizzarla a richiamare una funzione Lambda in grado di elaborare l'intento (ad esempio, effettuare un ordine presso una pizzeria).
Tipo: oggetto FulfillmentActivity
Campo obbligatorio: no
- inputContexts
-
Una serie di
InputContext
oggetti che elenca i contesti che devono essere attivi affinché Amazon Lex possa scegliere l'intento in una conversazione con l'utente.Tipo: matrice di oggetti InputContext
Membri dell'array: numero minimo di 0 elementi. Numero massimo 5 elementi.
Campo obbligatorio: no
- kendraConfiguration
-
Informazioni di configurazione necessarie per utilizzare l'
AMAZON.KendraSearchIntent
intento di connessione a un indice Amazon Kendra. Per ulteriori informazioni, consulta AMAZON. KendraSearchIntent.Tipo: oggetto KendraConfiguration
Campo obbligatorio: no
- outputContexts
-
Una serie di
OutputContext
oggetti che elenca i contesti che l'intento attiva quando l'intento viene soddisfatto.Tipo: matrice di oggetti OutputContext
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 10 elementi.
Campo obbligatorio: no
- parentIntentSignature
-
Un identificativo univoco dell'intento integrato su cui basare questo intento. Per trovare la firma di un intento, consulta Standard Built-in
Intents nell'Alexa Skills Kit. Tipo: string
Campo obbligatorio: no
- rejectionStatement
-
Quando l'utente risponde «no» alla domanda definita in
confirmationPrompt
, Amazon Lex risponde con questa dichiarazione per confermare che l'intento è stato annullato.Nota
Devi fornire sia il che il, oppure nessuno
rejectionStatement
deiconfirmationPrompt
due.Tipo: oggetto Statement
Campo obbligatorio: no
- sampleUtterances
-
Una serie di enunciati (stringhe) che un utente potrebbe pronunciare per segnalare l'intento. Ad esempio, «I want {PizzaSize} pizza», «Order {Quantity} {PizzaSize} pizze».
In ogni enunciato, il nome di uno slot è racchiuso tra parentesi graffe.
Tipo: matrice di stringhe
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 1500 articoli.
Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 200.
Campo obbligatorio: no
- slots
-
Una serie di slot di intenti. In fase di esecuzione, Amazon Lex richiede all'utente i valori degli slot richiesti utilizzando i prompt definiti negli slot. Per ulteriori informazioni, consulta Amazon Lex: come funziona.
Tipo: matrice di oggetti Slot
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 100 elementi.
Campo obbligatorio: no
Sintassi della risposta
HTTP/1.1 200
Content-type: application/json
{
"checksum": "string",
"conclusionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"confirmationPrompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"createdDate": number,
"createVersion": boolean,
"description": "string",
"dialogCodeHook": {
"messageVersion": "string",
"uri": "string"
},
"followUpPrompt": {
"prompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"rejectionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
}
},
"fulfillmentActivity": {
"codeHook": {
"messageVersion": "string",
"uri": "string"
},
"type": "string"
},
"inputContexts": [
{
"name": "string"
}
],
"kendraConfiguration": {
"kendraIndex": "string",
"queryFilterString": "string",
"role": "string"
},
"lastUpdatedDate": number,
"name": "string",
"outputContexts": [
{
"name": "string",
"timeToLiveInSeconds": number,
"turnsToLive": number
}
],
"parentIntentSignature": "string",
"rejectionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"sampleUtterances": [ "string" ],
"slots": [
{
"defaultValueSpec": {
"defaultValueList": [
{
"defaultValue": "string"
}
]
},
"description": "string",
"name": "string",
"obfuscationSetting": "string",
"priority": number,
"responseCard": "string",
"sampleUtterances": [ "string" ],
"slotConstraint": "string",
"slotType": "string",
"slotTypeVersion": "string",
"valueElicitationPrompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
}
}
],
"version": "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.
- checksum
-
Checksum della
$LATEST
versione dell'intento creata o aggiornata.Tipo: stringa
- conclusionStatement
-
Dopo che la funzione Lambda specificata nell'
fulfillmentActivity
intento soddisfa l'intento, Amazon Lex trasmette questa dichiarazione all'utente.Tipo: oggetto Statement
- confirmationPrompt
-
Se definito nell'intento, Amazon Lex richiede all'utente di confermare l'intento prima di realizzarlo.
Tipo: oggetto Prompt
- createdDate
-
La data di creazione dell'intento.
Tipo: Timestamp
- createVersion
-
True
se è stata creata una nuova versione dell'intento. Se ilcreateVersion
campo non è stato specificato nella richiesta, ilcreateVersion
campo è impostato su false nella risposta.Tipo: Booleano
- description
-
Una descrizione dell'intento.
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 0. Lunghezza massima di 200.
- dialogCodeHook
-
Se definita nell'intento, Amazon Lex richiama questa funzione Lambda per ogni input dell'utente.
Tipo: oggetto CodeHook
- followUpPrompt
-
Se definito nell'intento, Amazon Lex utilizza questo prompt per sollecitare ulteriori attività dell'utente dopo il raggiungimento dell'intento.
Tipo: oggetto FollowUpPrompt
- fulfillmentActivity
-
Se definita nell'intento, Amazon Lex richiama questa funzione Lambda per soddisfare l'intento dopo che l'utente ha fornito tutte le informazioni richieste dall'intento.
Tipo: oggetto FulfillmentActivity
- inputContexts
-
Una serie di
InputContext
oggetti che elenca i contesti che devono essere attivi affinché Amazon Lex possa scegliere l'intento in una conversazione con l'utente.Tipo: matrice di oggetti InputContext
Membri dell'array: numero minimo di 0 elementi. Numero massimo 5 elementi.
- kendraConfiguration
-
Informazioni di configurazione, se presenti, necessarie per connettersi a un indice Amazon Kendra e utilizzare l'intento.
AMAZON.KendraSearchIntent
Tipo: oggetto KendraConfiguration
- lastUpdatedDate
-
La data in cui l'intento è stato aggiornato. Quando crei una risorsa, la data di creazione e le date dell'ultimo aggiornamento coincidono.
Tipo: Timestamp
- name
-
Il nome dell'intento.
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 100.
Modello:
^([A-Za-z]_?)+$
- outputContexts
-
Una matrice di
OutputContext
oggetti che elenca i contesti che l'intento attiva quando l'intento viene soddisfatto.Tipo: matrice di oggetti OutputContext
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 10 elementi.
- parentIntentSignature
-
Un identificatore univoco per l'intento incorporato su cui si basa questo intento.
Tipo: stringa
- rejectionStatement
-
Se l'utente risponde «no» alla domanda definita in
confirmationPrompt
Amazon Lex, risponde con questa dichiarazione per confermare che l'intento è stato annullato.Tipo: oggetto Statement
- sampleUtterances
-
Una serie di espressioni di esempio configurate per l'intento.
Tipo: matrice di stringhe
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 1500 elementi.
Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 200.
- slots
-
Una serie di slot di intento configurati per l'intento.
Tipo: matrice di oggetti Slot
Membri dell'array: numero minimo di 0 elementi. Numero massimo di 100 elementi.
- version
-
La versione dell'intento. Per un nuovo intento, la versione è sempre.
$LATEST
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.
Modello:
\$LATEST|[0-9]+
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 una delle lingue specifiche AWS SDKs, consulta quanto segue: