Structures communes de l'événement et de la réponse Lambda - Amazon Lex

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.

Structures communes de l'événement et de la réponse Lambda

Dans la réponse Lambda, un certain nombre de structures se reproduisent. Des détails sur ces structures communes sont fournis dans cette section.

Intention

"intent": { "confirmationState": "Confirmed | Denied | None", "name": string, "slots": { // see Emplacements for details about the structure }, "state": "Failed | Fulfilled | FulfillmentInProgress | InProgress | ReadyForFulfillment | Waiting", "kendraResponse": { // Only present when intent is KendraSearchIntent. For details, see // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax } }

Le intent champ est mappé à un objet avec les champs suivants :

Indique si l'utilisateur a confirmé les créneaux correspondant à l'intention et si l'intention est prête à être exécutée. Les valeurs suivantes sont possibles :

Confirmed— L'utilisateur confirme que les valeurs des emplacements sont correctes.

Denied— L'utilisateur indique que les valeurs des emplacements sont incorrectes.

None— L'utilisateur n'a pas encore atteint le stade de confirmation.

Nom de l'intention.

Informations sur les créneaux nécessaires pour atteindre l'objectif. Voir Emplacements pour plus de détails sur la structure.

Indique l'état d'exécution de l'intention. Les valeurs suivantes sont possibles :

Failed— Le bot n'a pas atteint son objectif.

Fulfilled— Le bot a terminé de remplir son intention.

FulfillmentInProgress— Le bot est en train de réaliser son intention.

InProgress— Le bot est en train de déterminer les valeurs des créneaux nécessaires pour atteindre l'objectif.

ReadyForFulfillment— Le bot a obtenu toutes les valeurs des créneaux correspondant à l'intention et est prêt à réaliser l'intention.

Waiting— Le bot attend une réponse de l'utilisateur (limité aux conversations en streaming).

Contient des informations sur les résultats de la requête de recherche Kendra. Ce champ n'apparaît que si l'intention est uneKendraSearchIntent. Consultez la syntaxe de réponse dans l'appel d'API Query pour Kendra pour plus d'informations.

Emplacements

Le slots champ existe au sein d'une intent structure et est mappé à une structure dont les clés sont les noms des emplacements prévus à cet effet. Si l'emplacement n'est pas un emplacement à valeurs multiples (voir Utilisation de plusieurs valeurs dans un emplacement pour plus de détails), il est mappé à une structure au format suivant. Notez que c'shapeest le casScalar.

{ slot name: { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } } }

S'il s'agit d'un emplacement à valeurs multiples, l'objet auquel il est mappé contient un autre champ appelévalues, qui est mappé à une liste de structures, chacune contenant des informations sur un emplacement constituant l'emplacement à valeurs multiples. Le format de chaque objet de la liste correspond à celui de l'objet auquel un emplacement normal est mappé. Notez que shape c'est le List cas, mais que shape le composant se trouve en dessous l'valuesestScalar.

{ slot name: { "shape": "List", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }, "values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ] }

Les champs de l'objet slot sont décrits ci-dessous :

La forme de la fente. Cette valeur correspond List à la présence de plusieurs valeurs dans le slot (voir Utilisation de plusieurs valeurs dans un emplacement pour plus de détails), mais c'est le Scalar cas contraire.

Un objet contenant des informations sur la valeur fournie par l'utilisateur pour un emplacement et sur l'interprétation d'Amazon Lex, au format suivant :

{ "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }

Les champs sont décrits ci-dessous :

  • OriginalValue — La partie de la réponse de l'utilisateur à la demande d'emplacement déterminée par Amazon Lex est liée à la valeur de l'emplacement.

  • InterpretedValue — La valeur qu'Amazon Lex détermine pour le slot, en fonction des données saisies par l'utilisateur.

  • ResolvedValues : liste de valeurs définies par Amazon Lex comme des résolutions possibles pour les données saisies par l'utilisateur.

Liste d'objets contenant des informations sur les emplacements qui constituent l'emplacement à valeurs multiples. Le format de chaque objet correspond à celui d'un emplacement normal, avec les value champs shape et décrits ci-dessus. valuesn'apparaît que si le slot est composé de plusieurs valeurs (voir Utilisation de plusieurs valeurs dans un emplacement pour plus de détails). L'objet JSON suivant montre deux emplacements de composants :

"values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ]

État de la session

Le sessionState champ est mappé à un objet contenant des informations sur l'état de la conversation avec l'utilisateur. Les champs réels qui apparaissent dans l'objet dépendent du type d'action de dialogue. Consultez Champs obligatoires dans la réponse les champs obligatoires dans une réponse Lambda. Le format de l'sessionStateobjet est le suivant :

"sessionState": { "activeContexts": [ { "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }, ... ], "sessionAttributes": { string: string, ... }, "runtimeHints": { "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }, "dialogAction": { "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }, "intent": { // see Intention for details about the structure }, "originatingRequestId": string }

Les champs sont décrits ci-dessous :

Liste d'objets contenant des informations sur un contexte utilisé par un utilisateur au cours d'une session. Utilisez des contextes pour faciliter et contrôler la reconnaissance des intentions. Pour plus d'informations sur les contextes, consultezDéfinition du contexte de l'intention. Chaque objet est formaté comme suit :

{ "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }

Les champs sont décrits ci-dessous :

  • name — Le nom du contexte.

  • ContextAttributes — Objet contenant les noms des attributs du contexte et les valeurs auxquelles ils sont mappés.

  • timeToLive— Objet qui indique la durée pendant laquelle le contexte reste actif. Cet objet peut contenir l'un des champs suivants ou les deux :

    • timeToLiveInSeconds— Le nombre de secondes pendant lesquelles le contexte reste actif.

    • turnsToLive— Le nombre de tours pendant lesquels le contexte reste actif.

Une carte de paires clé/valeur représentant des informations contextuelles spécifiques à la session. Pour en savoir plus, consultez Définition des attributs de session. L'objet est formaté comme suit :

{ string: string, ... }

Fournit des indications sur les phrases qu'un client est susceptible d'utiliser pour désigner un emplacement afin d'améliorer la reconnaissance audio. Les valeurs que vous indiquez dans les indices améliorent la reconnaissance audio de ces valeurs par rapport à des mots au son similaire. Le format de l'runtimeHintsobjet est le suivant :

{ "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }

Le slotHints champ correspond à un objet dont les champs sont les noms des intentions du bot. Chaque nom d'intention correspond à un objet dont les champs sont les noms des emplacements correspondant à cette intention. Chaque nom d'emplacement correspond à une structure comportant un seul champruntimeHintValues, qui est une liste d'objets. Chaque objet contient un phrase champ correspondant à un indice.

Détermine la prochaine action à exécuter par Amazon Lex V2. Le format de l'objet est le suivant :

{ "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }

Les champs sont décrits ci-dessous :

  • slotElicitationStyle— Détermine la manière dont Amazon Lex V2 interprète l'entrée audio de l'utilisateur si dialogAction c'est ElicitSlot le type cas. Pour en savoir plus, consultez Capture de valeurs de créneaux avec des styles d'orthographe. Les valeurs suivantes sont possibles :

    Default— Amazon Lex V2 interprète l'entrée audio de la manière par défaut pour remplir un créneau.

    SpellByLetter— Amazon Lex V2 écoute l'orthographe de la valeur de l'emplacement donnée par l'utilisateur.

    SpellByWord— Amazon Lex V2 écoute l'orthographe de la valeur de l'emplacement par l'utilisateur à l'aide de mots associés à chaque lettre (par exemple, « a as in apple »).

  • slotToElicit— Définit l'emplacement à obtenir auprès de l'utilisateur si le nom type de dialogAction est ElicitSlot

  • type — Définit l'action que le bot doit exécuter. Les valeurs suivantes sont possibles :

    Delegate— Laisse Amazon Lex V2 déterminer l'étape suivante.

    ElicitIntent— Invite le client à exprimer son intention.

    ConfirmIntent— Confirme les valeurs des créneaux du client et indique si l'intention est prête à être exécutée.

    ElicitSlot— Invite le client à fournir une valeur de créneau pour une intention.

    Close— Met fin au processus de réalisation des intentions.

Voir Intention pour la structure du intent champ.

Identifiant unique pour la demande. Ce champ est facultatif pour la réponse Lambda.