Si vous utilisez Amazon Lex V2, consultez plutôt le guide Amazon Lex V2.
Si vous utilisez Amazon Lex V1, nous vous recommandons de mettre à niveau vos robots vers Amazon Lex V2. Nous n'ajoutons plus de nouvelles fonctionnalités à la V1 et recommandons vivement d'utiliser la V2 pour tous les nouveaux robots.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
PutBot
Crée un bot conversationnel Amazon Lex ou remplace un bot existant. Lorsque vous créez ou mettez à jour un bot, il vous suffit de spécifier un nom, un paramètre régional et de préciser si le bot est destiné aux enfants de moins de 13 ans. Vous pouvez l'utiliser pour ajouter des intentions ultérieurement ou pour supprimer des intentions d'un bot existant. Lorsque vous créez un bot avec le minimum d'informations, celui-ci est créé ou mis à jour, mais Amazon Lex renvoie la réponse
FAILED
. Vous pouvez créer le bot après avoir ajouté une ou plusieurs intentions. Pour plus d'informations sur les robots Amazon Lex, consultezAmazon Lex : comment ça marche.
Si vous spécifiez le nom d'un bot existant, les champs de la demande remplacent les valeurs existantes dans la $LATEST
version du bot. Amazon Lex supprime tous les champs pour lesquels vous ne fournissez pas de valeurs dans la demande, à l'exception des privacySettings
champs idleTTLInSeconds
et, qui sont définis sur leurs valeurs par défaut. Si vous ne spécifiez aucune valeur pour les champs obligatoires, Amazon Lex émet une exception.
Cette opération exige des autorisations pour l'action lex:PutBot
. Pour de plus amples informations, veuillez consulter Identity and Access Management pour Amazon Lex.
Syntaxe de la demande
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
"
}
Paramètres de demande URI
La demande utilise les paramètres URI suivants.
- name
-
Le nom du bot. Le nom ne distingue pas les majuscules et minuscules.
Contraintes de longueur : longueur minimale de 2. Longueur maximale de 50.
Modèle :
^([A-Za-z]_?)+$
Obligatoire : oui
Corps de la demande
Cette demande accepte les données suivantes au format JSON.
- abortStatement
-
Lorsqu'Amazon Lex ne parvient pas à comprendre la saisie de l'utilisateur dans son contexte, il essaie d'obtenir les informations à plusieurs reprises. Amazon Lex envoie ensuite le message défini
abortStatement
à l'utilisateur, puis annule la conversation. Pour définir le nombre de tentatives, utilisez levalueElicitationPrompt
champ correspondant au type de slot.Par exemple, dans un robot de commande de pizzas, Amazon Lex peut demander à un utilisateur « Quel type de croûte souhaitez-vous ? » Si la réponse de l'utilisateur n'est pas l'une des réponses attendues (par exemple, « croûte mince », « plat profond », etc.), Amazon Lex essaie d'obtenir une réponse correcte plusieurs fois de plus.
Par exemple, dans une application de commande de pizzas,
OrderPizza
cela peut être l'une des intentions. Cette intention peut nécessiter leCrustType
slot. Vous spécifiez levalueElicitationPrompt
champ lorsque vous créez leCrustType
slot.Si vous avez défini une intention de remplacement, la déclaration d'annulation ne sera pas envoyée à l'utilisateur, c'est l'intention de secours qui est utilisée à la place. Pour plus d'informations, consultez AMAZON. FallbackIntent.
Type : objet Statement
Obligatoire : non
- checksum
-
Identifie une révision spécifique de la
$LATEST
version.Lorsque vous créez un nouveau bot, laissez le
checksum
champ vide. Si vous spécifiez une somme de contrôle, vous obtenez uneBadRequestException
exception.Lorsque vous souhaitez mettre à jour un bot, définissez le
checksum
champ sur la somme de contrôle de la dernière révision de la$LATEST
version. Si vous ne spécifiez pas lechecksum
champ, ou si la somme de contrôle ne correspond pas à la$LATEST
version, vous obtenez unePreconditionFailedException
exception.Type : chaîne
Obligatoire : non
- childDirected
-
Pour chaque bot Amazon Lex créé avec Amazon Lex Model Building Service, vous devez indiquer si votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la loi COPPA (Children's Online Privacy Protection Act) en spécifiant
true
oufalse
dans lechildDirected
champ.true
En spécifiant dans cechildDirected
champ, vous confirmez que votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA.false
En spécifiant dans cechildDirected
champ, vous confirmez que votre utilisation d'Amazon Lex n'est pas liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA. Vous ne pouvez pas spécifier de valeur par défaut pour lechildDirected
champ qui ne reflète pas exactement si votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA.Si votre utilisation d'Amazon Lex concerne un site Web, un programme ou une autre application destinés, en tout ou en partie, à des enfants de moins de 13 ans, vous devez obtenir le consentement parental vérifiable requis en vertu de la COPPA. Pour plus d'informations concernant l'utilisation d'Amazon Lex en relation avec des sites Web, des programmes ou d'autres applications destinés ou ciblés, en tout ou en partie, aux enfants de moins de 13 ans, consultez la FAQ Amazon Lex.
Type : booléen
Obligatoire : oui
- clarificationPrompt
-
Lorsqu'Amazon Lex ne comprend pas l'intention de l'utilisateur, il utilise ce message pour obtenir des éclaircissements. Pour spécifier combien de fois Amazon Lex doit répéter l'invite de clarification, utilisez le
maxAttempts
champ. Si Amazon Lex ne comprend toujours pas, il envoie le messageabortStatement
sur le terrain.Lorsque vous créez une invite de clarification, assurez-vous qu'elle suggère la bonne réponse de la part de l'utilisateur. Par exemple, pour un bot qui commande des pizzas et des boissons, vous pouvez créer cette invite de clarification : « Que souhaitez-vous faire ? Vous pouvez dire « Commandez une pizza » ou « Commandez un verre ». »
Si vous avez défini une intention de remplacement, elle sera invoquée si l'invite de clarification est répétée le nombre de fois défini dans le
maxAttempts
champ. Pour plus d'informations, consultez AMAZON. FallbackIntent.Si vous ne définissez pas d'invite de clarification, Amazon Lex renverra une exception 400 Bad Request au moment de l'exécution dans trois cas :
-
Demande de suivi : lorsque l'utilisateur répond à une demande de suivi sans fournir d'intention. Par exemple, en réponse à une demande de suivi indiquant « Voulez-vous autre chose aujourd'hui ? » l'utilisateur répond « Oui ». Amazon Lex renverra une exception 400 Bad Request car aucune demande de clarification n'est à envoyer à l'utilisateur pour obtenir une intention.
-
Fonction Lambda : lorsque vous utilisez une fonction Lambda, vous renvoyez un type de dialogue.
ElicitIntent
Amazon Lex n'étant pas invité à clarifier l'intention de l'utilisateur, il renvoie une exception 400 Bad Request. -
PutSession opération - Lorsque vous utilisez l'
PutSession
opération, vous envoyez un typeElicitIntent
de dialogue. Amazon Lex n'étant pas invité à clarifier l'intention de l'utilisateur, il renvoie une exception 400 Bad Request.
Type : objet Prompt
Obligatoire : non
-
- createVersion
-
Lorsqu'il est réglé sur
true
une nouvelle version numérotée du bot est créée. Cela revient à appeler l'CreateBotVersion
opération. Si vous ne le spécifiez pascreateVersion
, la valeur par défaut estfalse
.Type : booléen
Obligatoire : non
- description
-
Description du bot.
Type : chaîne
Contraintes de longueur : longueur minimum de 0. Longueur maximum de 200.
Obligatoire : non
- detectSentiment
-
Lorsque ce paramètre est défini sur «
true
utilisateur », les énoncés sont envoyés à Amazon Comprehend pour analyse des sentiments. Si vous ne le spécifiez pasdetectSentiment
, la valeur par défaut estfalse
.Type : booléen
Obligatoire : non
- enableModelImprovements
-
Réglez sur
true
pour permettre l'accès aux améliorations de compréhension du langage naturel.Lorsque vous définissez le
enableModelImprovements
paramètre sur,true
vous pouvez l'nluIntentConfidenceThreshold
utiliser pour configurer les scores de confiance. Pour plus d'informations, consultez la section Scores de confiance.Vous ne pouvez définir le
enableModelImprovements
paramètre que dans certaines régions. Si vous définissez le paramètre surtrue
, votre bot a accès à des améliorations de précision.Les régions dans lesquelles vous pouvez définir le
enableModelImprovements
paramètrefalse
pour les paramètres régionaux en-US sont les suivantes :-
USA Est (Virginie du Nord) (us-east-1)
-
USA Ouest (Oregon) (us-west-2)
-
Asie-Pacifique (Sydney) (ap-southeast-2)
-
EU (Irlande) (eu-west-1)
Dans les autres régions et régions, le
enableModelImprovements
paramètre est définitrue
par défaut. Dans ces régions et régions, le fait de définir le paramètrefalse
sur génère uneValidationException
exception.Type : booléen
Obligatoire : non
-
- idleSessionTTLInSeconds
-
Durée maximale en secondes pendant laquelle Amazon Lex conserve les données collectées au cours d'une conversation.
Une session d'interaction utilisateur reste active pendant la durée spécifiée. Si aucune conversation n'a lieu pendant cette période, la session expire et Amazon Lex supprime toutes les données fournies avant l'expiration du délai.
Supposons, par exemple, qu'un utilisateur choisisse son OrderPizza intention, mais qu'il se laisse distraire à mi-chemin de la commande. Si l'utilisateur ne termine pas la commande dans le délai imparti, Amazon Lex supprime les informations sur les créneaux qu'il a collectées et l'utilisateur doit recommencer à zéro.
Si vous n'incluez pas l'
idleSessionTTLInSeconds
élément dans une demande d'PutBot
opération, Amazon Lex utilise la valeur par défaut. Cela est également vrai si la demande remplace un bot existant.La valeur par défaut est de 300 secondes (5 minutes).
Type : entier
Plage valide : Valeur minimum de 60. Valeur maximum de 86 400.
Obligatoire : non
- intents
-
Tableau d’objets
Intent
. Chaque intention représente une commande qu'un utilisateur peut exprimer. Par exemple, un robot de commande de pizzas peut soutenir une OrderPizza intention. Pour de plus amples informations, veuillez consulter Amazon Lex : comment ça marche.Type : tableau d’objets Intent
Obligatoire : non
- locale
-
Spécifie les paramètres régionaux cibles pour le bot. Toute intention utilisée dans le bot doit être compatible avec les paramètres régionaux du bot.
L’argument par défaut est
en-US
.Type : chaîne
Valeurs valides :
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
Obligatoire : oui
- nluIntentConfidenceThreshold
-
Détermine le seuil auquel Amazon Lex insérera
AMAZON.FallbackIntent
leAMAZON.KendraSearchIntent
ou les deux lorsqu'il renvoie des intentions alternatives dans une PostTextréponse PostContentou.AMAZON.FallbackIntent
et neAMAZON.KendraSearchIntent
sont insérés que s'ils sont configurés pour le bot.Vous devez définir le
enableModelImprovements
paramètre surtrue
pour utiliser les scores de confiance dans les régions suivantes.-
USA Est (Virginie du Nord) (us-east-1)
-
USA Ouest (Oregon) (us-west-2)
-
Asie-Pacifique (Sydney) (ap-southeast-2)
-
EU (Irlande) (eu-west-1)
Dans les autres régions, le
enableModelImprovements
paramètre est définitrue
par défaut.Supposons, par exemple, qu'un bot soit configuré avec le seuil de confiance de 0,80 et le
AMAZON.FallbackIntent
. Amazon Lex renvoie trois intentions alternatives avec les scores de confiance suivants : IntentA (0,70), IntentB (0,60), IntentC (0,50). La réponse de l'PostText
opération serait la suivante :-
AMAZON. FallbackIntent
-
à Tenta
-
Intente B
-
Intente C
Type : double
Plage valide : Valeur minimum de 0. Valeur maximale de 1.
Obligatoire : non
-
- processBehavior
-
Si vous définissez l'
processBehavior
élément surBUILD
, Amazon Lex crée le bot afin qu'il puisse être exécuté. Si vous définissez l'élémentSAVE
sur Amazon Lex, il enregistre le bot, mais ne le crée pas.Si vous ne spécifiez pas cette valeur, la valeur par défaut est
BUILD
.Type : chaîne
Valeurs valides :
SAVE | BUILD
Obligatoire : non
-
Une liste de balises à ajouter au bot. Vous ne pouvez ajouter des balises que lorsque vous créez un bot, vous ne pouvez pas utiliser l'
PutBot
opération pour mettre à jour les balises d'un bot. Pour mettre à jour les balises, utilisez l'opérationTagResource
.Type : tableau d’objets Tag
Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 200 éléments.
Obligatoire : non
- voiceId
-
L'identifiant vocal Amazon Polly que vous souhaitez qu'Amazon Lex utilise pour les interactions vocales avec l'utilisateur. Les paramètres régionaux configurés pour la voix doivent correspondre aux paramètres régionaux du bot. Pour plus d'informations, consultez Voices in Amazon Polly dans le manuel Amazon Polly Developer Guide.
Type : chaîne
Obligatoire : non
Syntaxe de la réponse
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"
}
Eléments de réponse
Si l’action aboutit, le service renvoie une réponse HTTP 200.
Les données suivantes sont renvoyées au format JSON par le service.
- abortStatement
-
Le message utilisé par Amazon Lex pour annuler une conversation. Pour de plus amples informations, veuillez consulter PutBot.
Type : objet Statement
- checksum
-
Somme de contrôle du bot que vous avez créé.
Type : chaîne
- childDirected
-
Pour chaque bot Amazon Lex créé avec Amazon Lex Model Building Service, vous devez indiquer si votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la loi COPPA (Children's Online Privacy Protection Act) en spécifiant
true
oufalse
dans lechildDirected
champ.true
En spécifiant dans cechildDirected
champ, vous confirmez que votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA.false
En spécifiant dans cechildDirected
champ, vous confirmez que votre utilisation d'Amazon Lex n'est pas liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA. Vous ne pouvez pas spécifier de valeur par défaut pour lechildDirected
champ qui ne reflète pas exactement si votre utilisation d'Amazon Lex est liée à un site Web, à un programme ou à une autre application destiné ou ciblé, en tout ou en partie, aux enfants de moins de 13 ans et soumis à la COPPA.Si votre utilisation d'Amazon Lex concerne un site Web, un programme ou une autre application destinés, en tout ou en partie, à des enfants de moins de 13 ans, vous devez obtenir le consentement parental vérifiable requis en vertu de la COPPA. Pour plus d'informations concernant l'utilisation d'Amazon Lex en relation avec des sites Web, des programmes ou d'autres applications destinés ou ciblés, en tout ou en partie, aux enfants de moins de 13 ans, consultez la FAQ Amazon Lex.
Type : booléen
- clarificationPrompt
-
Les invites qu'Amazon Lex utilise lorsqu'il ne comprend pas l'intention de l'utilisateur. Pour de plus amples informations, veuillez consulter PutBot.
Type : objet Prompt
- createdDate
-
Date à laquelle le bot a été créé.
Type : Timestamp
- createVersion
-
True
si une nouvelle version du bot a été créée. Si lecreateVersion
champ n'a pas été spécifié dans la demande, lecreateVersion
champ est défini sur false dans la réponse.Type : booléen
- description
-
Description du bot.
Type : chaîne
Contraintes de longueur : longueur minimum de 0. Longueur maximum de 200.
- detectSentiment
-
true
si le bot est configuré pour envoyer les déclarations des utilisateurs à Amazon Comprehend à des fins d'analyse des sentiments. Si ledetectSentiment
champ n'a pas été spécifié dans la demande, il figurefalse
dans la réponse.detectSentiment
Type : booléen
- enableModelImprovements
-
Indique si le bot utilise des améliorations de précision.
true
indique que le bot utilise les améliorations, sinon,false
.Type : booléen
- failureReason
-
Dans
status
l'affirmativeFAILED
, Amazon Lex fournit la raison pour laquelle il n'a pas réussi à créer le bot.Type : chaîne
- idleSessionTTLInSeconds
-
Durée maximale pendant laquelle Amazon Lex conserve les données collectées au cours d'une conversation. Pour de plus amples informations, veuillez consulter PutBot.
Type : entier
Plage valide : Valeur minimum de 60. Valeur maximum de 86 400.
- intents
-
Tableau d’objets
Intent
. Pour de plus amples informations, veuillez consulter PutBot.Type : tableau d’objets Intent
- lastUpdatedDate
-
Date à laquelle le bot a été mis à jour. Lorsque vous créez une ressource, la date de création et la date de dernière mise à jour sont identiques.
Type : Timestamp
- locale
-
La localisation cible pour le bot.
Type : chaîne
Valeurs valides :
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
-
Le nom du bot.
Type : chaîne
Contraintes de longueur : longueur minimale de 2. Longueur maximale de 50.
Modèle :
^([A-Za-z]_?)+$
- nluIntentConfidenceThreshold
-
Le score qui détermine l'endroit où Amazon Lex insère le
AMAZON.FallbackIntent
ou les deux lorsqu'il renvoie des intentions alternatives dans une PostTextréponse PostContentou.AMAZON.KendraSearchIntent
AMAZON.FallbackIntent
est inséré si le score de confiance à toutes fins utiles est inférieur à cette valeur.AMAZON.KendraSearchIntent
n'est inséré que s'il est configuré pour le bot.Type : double
Plage valide : Valeur minimum de 0. Valeur maximale de 1.
- status
-
Lorsque vous envoyez une demande pour créer un bot
processBehavior
défini surBUILD
, Amazon Lex définit l'élément destatus
réponse surBUILDING
.Dans
READY_BASIC_TESTING
cet état, vous pouvez tester le bot avec des entrées utilisateur qui correspondent exactement aux énoncés configurés en fonction des intentions et des valeurs du bot dans les types d'emplacements.Si Amazon Lex ne parvient pas à créer le bot, Amazon Lex
status
le configureFAILED
. Amazon Lex renvoie la raison de l'échec dans l'élément defailureReason
réponse.Lorsque vous définissez
processBehavior
surSAVE
, Amazon Lex définit le code de statut surNOT BUILT
.Lorsque le bot est dans
READY
cet état, vous pouvez le tester et le publier.Type : chaîne
Valeurs valides :
BUILDING | READY | READY_BASIC_TESTING | FAILED | NOT_BUILT
-
Liste des balises associées au bot.
Type : tableau d’objets Tag
Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 200 éléments.
- version
-
La version du bot. Pour un nouveau bot, la version est toujours
$LATEST
.Type : chaîne
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 64.
Modèle :
\$LATEST|[0-9]+
- voiceId
-
L'identifiant vocal Amazon Polly utilisé par Amazon Lex pour l'interaction vocale avec l'utilisateur. Pour de plus amples informations, veuillez consulter PutBot.
Type : chaîne
Erreurs
- BadRequestException
-
La demande n'est pas bien formulée. Par exemple, une valeur n'est pas valide ou un champ obligatoire est manquant. Vérifiez les valeurs des champs, puis réessayez.
Code d’état HTTP : 400
- ConflictException
-
Un conflit s'est produit lors du traitement de la demande. Réessayez votre demande.
Code d’état HTTP : 409
- InternalFailureException
-
Une erreur interne Amazon Lex s'est produite. Réessayez votre demande.
Code d’état HTTP : 500
- LimitExceededException
-
La demande a dépassé une limite. Réessayez votre demande.
Code d’état HTTP : 429
- PreconditionFailedException
-
La somme de contrôle de la ressource que vous essayez de modifier ne correspond pas à la somme de contrôle de la demande. Vérifiez le checksum de la ressource et réessayez.
Code d’état HTTP : 412
consultez aussi
Pour plus d’informations sur l’utilisation de cette API dans l’un des kits SDK AWS spécifiques au langage, consultez les ressources suivantes :