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à.
Impostazione degli attributi di sessione per il tuo bot Lex V2
Gli attributi di sessione contengono informazioni specifiche dell'applicazione che vengono trasmesse tra un bot e un'applicazione client durante una sessione. Amazon Lex V2 trasmette gli attributi di sessione a tutte le funzioni Lambda configurate per un bot. Se una funzione Lambda aggiunge o aggiorna gli attributi di sessione, Amazon Lex V2 restituisce le nuove informazioni all'applicazione client.
Usa gli attributi di sessione nelle tue funzioni Lambda per inizializzare un bot e personalizzare prompt e schede di risposta. Esempio:
-
Inizializzazione: in un bot per ordinare pizze, l'applicazione client trasmette la posizione dell'utente come attributo di sessione nella prima chiamata all'operazione or. RecognizeTextRecognizeUtterance Ad esempio,
"Location": "111 Maple Street". La funzione Lambda utilizza queste informazioni per trovare la pizzeria più vicina per effettuare l'ordine. -
Personalizza i prompt: configura i prompt e le schede di risposta per fare riferimento agli attributi della sessione. Ad esempio, «Ehi [FirstName], quali condimenti vorresti?» Se passi il nome dell'utente come attributo di sessione (
{"FirstName": "Vivian"}), Amazon Lex sostituisce il nome al segnaposto. Quindi invia un messaggio personalizzato all'utente: «Ehi Vivian, quali condimenti vorresti?»
Gli attributi della sessione persistono per tutta la durata della sessione. Amazon Lex V2 li archivia in un archivio dati crittografato fino al termine della sessione. Il client può creare attributi di sessione in una richiesta chiamando l'RecognizeUtteranceoperazione RecognizeTexto con il sessionAttributes campo impostato su un valore. Una funzione Lambda può creare un attributo di sessione in una risposta. Dopo che il client o una funzione Lambda hanno creato un attributo di sessione, il valore dell'attributo memorizzato viene utilizzato ogni volta che l'applicazione client non include il sessionAttribute campo in una richiesta ad Amazon Lex V2.
Presupponi, ad esempio, di avere due attributi di sessione, {"x":
"1", "y": "2"}. Se il client chiama l'RecognizeUtteranceoperazione RecognizeText or senza specificare il sessionAttributes campo, Amazon Lex V2 chiama la funzione Lambda con gli attributi di sessione memorizzati (). {"x": 1, "y": 2} Se la funzione Lambda non restituisce gli attributi di sessione, Amazon Lex V2 restituisce gli attributi di sessione memorizzati all'applicazione client.
Se l'applicazione client o una funzione Lambda trasmettono gli attributi di sessione, Amazon Lex V2 aggiorna gli attributi di sessione memorizzati. Il trasferimento di un valore esistente, come {"x": 2}, determina l'aggiornamento del valore archiviato. Se invii un nuovo set di attributi di sessione, ad esempio {"z": 3}, i valori esistenti vengono rimossi e viene mantenuto solo il nuovo valore. Quando viene trasferita una mappa vuota, {}, i valori archiviati vengono cancellati.
Per inviare gli attributi di sessione ad Amazon Lex V2, crei una string-to-string mappa degli attributi. Di seguito viene spiegato come mappare gli attributi di sessione:
{ "attributeName": "attributeValue", "attributeName": "attributeValue" }
Per l'RecognizeTextoperazione, inserisci la mappa nel corpo della richiesta utilizzando il sessionAttributes campo della sessionState struttura, come segue:
"sessionState": { "sessionAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" } }
Per l'RecognizeUtteranceoperazione, si codifica in base64 la mappa e quindi la si invia come parte dell'intestazione. x-amz-lex-session-state
Per inviare dati binari o strutturati in un attributo di sessione, devi dapprima trasformarli in una stringa semplice. Per ulteriori informazioni, consulta Impostazione di attributi complessi nel tuo bot Lex V2.