Strutture comuni nell'evento e nella risposta Lambda - Amazon Lex

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à.

Strutture comuni nell'evento e nella risposta Lambda

All'interno della risposta Lambda, ci sono diverse strutture che si ripetono. I dettagli su queste strutture comuni sono forniti in questa sezione.

Intento

"intent": { "confirmationState": "Confirmed | Denied | None", "name": string, "slots": { // see Slot 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 } }

Il intent campo è mappato su un oggetto con i seguenti campi:

Indica se l'utente ha confermato gli slot per l'intento e l'intento è pronto per l'adempimento. I valori possibili sono i seguenti:

Confirmed— L'utente conferma che i valori degli slot sono corretti.

Denied— L'utente indica che i valori dello slot non sono corretti.

None— L'utente non ha ancora raggiunto la fase di conferma.

Il nome dell'intento.

Informazioni sugli slot necessari per soddisfare l'intento. Vedi Slot per i dettagli sulla struttura.

Indica lo stato di adempimento dell'intento. I valori possibili sono i seguenti:

Failed— Il bot non è riuscito a soddisfare l'intento.

Fulfilled— Il bot ha completato l'adempimento dell'intento.

FulfillmentInProgress— Il bot è nel bel mezzo del raggiungimento dell'intento.

InProgress— Il bot sta cercando di ottenere i valori dello slot necessari per soddisfare l'intento.

ReadyForFulfillment— Il bot ha ottenuto tutti i valori dello slot per l'intento ed è pronto a soddisfare l'intento.

Waiting— Il bot è in attesa di una risposta dall'utente (limitata alle conversazioni in streaming).

Contiene informazioni sui risultati della query di ricerca di Kendra. Questo campo viene visualizzato solo se l'intento è un. KendraSearchIntent Per ulteriori informazioni, consulta la sintassi della risposta nella chiamata all'API Query per Kendra.

Slot

Il slots campo esiste all'interno di una intent struttura ed è mappato su una struttura le cui chiavi sono i nomi degli slot relativi a tale scopo. Se lo slot non è uno slot multivalore (vedi Utilizzo di più valori in uno slot per maggiori dettagli), viene mappato su una struttura con il seguente formato. Nota che lo è. shape Scalar

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

Se lo slot è uno slot multivalore, l'oggetto a cui è mappato contiene un altro campo chiamatovalues, che è mappato su un elenco di strutture, ciascuna contenente informazioni su uno slot che costituisce lo slot multivalore. Il formato di ogni oggetto nell'elenco corrisponde a quello dell'oggetto a cui è mappato uno slot normale. Nota che lo shape èList, ma lo values è Scalar lo slot shape dei componenti sottostanti.

{ 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, ... ] } }, ... ] }

I campi dell'oggetto slot sono descritti di seguito:

La forma dello slot. Questo valore è List se ci sono più valori nello slot (vedi Utilizzo di più valori in uno slot per maggiori dettagli) e non lo Scalar è.

Un oggetto contenente informazioni sul valore fornito dall'utente per uno slot e sull'interpretazione di Amazon Lex, nel seguente formato:

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

I campi sono descritti di seguito:

  • OriginalValue: la parte della risposta dell'utente all'elicitazione dello slot che Amazon Lex determina è rilevante per il valore dello slot.

  • InterpretedValue: il valore che Amazon Lex determina per lo slot, in base all'input dell'utente.

  • ResolvedValues: un elenco di valori che Amazon Lex determina come possibili risoluzioni per l'input dell'utente.

Un elenco di oggetti contenente informazioni sugli slot che compongono lo slot multivalore. Il formato di ogni oggetto corrisponde a quello di uno slot normale, con i value campi shape e descritti sopra. valuesappare solo se lo slot è composto da più valori (vedi Utilizzo di più valori in uno slot per maggiori dettagli). Il seguente oggetto JSON mostra due slot componenti:

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

Stato della sessione

Il sessionState campo è mappato su un oggetto contenente informazioni sullo stato della conversazione con l'utente. I campi effettivi che appaiono nell'oggetto dipendono dal tipo di azione di dialogo. Vedi Campi obbligatori nella risposta i campi obbligatori in una risposta Lambda. Il formato dell'sessionStateoggetto è il seguente:

"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 Intento for details about the structure }, "originatingRequestId": string }

I campi sono descritti di seguito:

Un elenco di oggetti contenenti informazioni su un contesto utilizzato da un utente in una sessione. Utilizza i contesti per facilitare e controllare il riconoscimento degli intenti. Per ulteriori informazioni sui contesti, vedere. Impostazione del contesto dell'intento Ogni oggetto è formattato come segue:

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

I campi sono descritti di seguito:

  • name: il nome del contesto.

  • contextAttributes — Un oggetto contenente i nomi degli attributi per il contesto e i valori a cui sono mappati.

  • timeToLive— Un oggetto che specifica per quanto tempo il contesto rimane attivo. Questo oggetto può contenere uno o entrambi i seguenti campi:

    • timeToLiveInSeconds— Il numero di secondi in cui il contesto rimane attivo.

    • turnsToLive— Il numero di turni in cui il contesto rimane attivo.

Una mappa di coppie chiave/valore che rappresentano informazioni di contesto specifiche della sessione. Per ulteriori informazioni, consulta Impostazione degli attributi della sessione. L'oggetto è formattato come segue:

{ string: string, ... }

Fornisce suggerimenti sulle frasi che un cliente probabilmente utilizzerà per uno slot per migliorare il riconoscimento audio. I valori forniti nei suggerimenti aumentano il riconoscimento audio di tali valori rispetto a parole dal suono simile. Il formato dell'runtimeHintsoggetto è il seguente:

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

Il slotHints campo è mappato su un oggetto i cui campi sono i nomi degli intenti nel bot. Ogni nome di intento è mappato a un oggetto i cui campi sono i nomi degli slot per quell'intento. Ogni nome di slot è mappato a una struttura con un singolo camporuntimeHintValues, che è un elenco di oggetti. Ogni oggetto contiene un phrase campo che corrisponde a un suggerimento.

Determina l'azione successiva da intraprendere per Amazon Lex V2. Il formato dell'oggetto è il seguente:

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

I campi sono descritti di seguito:

  • slotElicitationStyle— Determina il modo in cui Amazon Lex V2 interpreta l'input audio dell'utente, se l'typeo è. dialogAction ElicitSlot Per ulteriori informazioni, consulta Acquisizione dei valori degli slot con stili di ortografia. I valori possibili sono i seguenti:

    Default— Amazon Lex V2 interpreta l'ingresso audio nel modo predefinito per soddisfare uno slot.

    SpellByLetter— Amazon Lex V2 ascolta l'ortografia del valore dello slot da parte dell'utente.

    SpellByWord— Amazon Lex V2 ascolta l'ortografia del valore dello slot da parte dell'utente utilizzando parole associate a ciascuna lettera (ad esempio, «a as in apple»).

  • slotToElicit— Definisce lo slot da richiedere all'utente se l'of è. type dialogAction ElicitSlot

  • tipo — Definisce l'azione che il bot deve eseguire. I valori possibili sono i seguenti:

    Delegate— Consente ad Amazon Lex V2 di determinare il passaggio successivo.

    ElicitIntent— Richiede al cliente di esprimere un'intenzione.

    ConfirmIntent— Conferma i valori degli slot assegnati al cliente e se l'intento è pronto per l'adempimento.

    ElicitSlot— Richiede al cliente di fornire un valore di slot per un intento.

    Close— Termina il processo di adempimento degli intenti.

Vedi Intento la struttura del intent campo.

Un identificatore univoco per la richiesta. Questo campo è facoltativo per la risposta Lambda.