Prenota viaggio - Amazon Lex versione 1

Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.

 

Se utilizzi Amazon Lex V1, ti consigliamo di aggiornare i bot ad Amazon Lex V2. Non stiamo più aggiungendo nuove funzionalità alla V1 e consigliamo vivamente di utilizzare la V2 per tutti i nuovi bot.

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

Prenota viaggio

Nell'esempio seguente viene illustrata la creazione di un bot configurato per supportare più intenti. L'esempio illustra inoltre come utilizzare gli attributi di sessione per la condivisione di informazioni tra più intenti. Dopo aver creato il bot, usi un client di test nella console Amazon Lex per testare il bot (BookTrip). Il client utilizza l'operazione APIPostText di runtime per inviare richieste ad Amazon Lex per ogni input dell'utente.

Il BookTrip bot in questo esempio è configurato con due intenti (BookHotel e BookCar). Supponiamo ad esempio che un utente prenoti in primo luogo un hotel. Durante l'interazione, l'utente fornisce informazioni quali date di check-in, località e il numero di notti. Dopo che l'intento è realizzato, il client può conservare queste informazioni tramite gli attributi di sessione. Per ulteriori informazioni sugli attributi di sessione, consulta PostText.

Supponiamo a questo punto che l'utente continui con la prenotazione di un'automobile. Utilizzando le informazioni fornite dall'utente nell' BookHotel intento precedente (ovvero città di destinazione e date di check-in e check-out), il code hook (funzione Lambda) configurato per inizializzare e convalidare l' BookCar intento, inizializza i dati degli slot relativi all' BookCar intento (ovvero destinazione, città di ritiro, data di ritiro e data di ritorno). Questo illustra come la condivisione di informazioni tra più intenti consenta di creare bot in grado di iniziare una conversazione dinamica con l'utente.

In questo esempio vengono utilizzati gli attributi di sessione riportati di seguito. Solo il client e la funzione Lambda possono impostare e aggiornare gli attributi della sessione. Amazon Lex li passa solo tra il client e la funzione Lambda. Amazon Lex non mantiene o modifica alcun attributo di sessione.

  • currentReservation— Contiene i dati relativi agli slot per una prenotazione in corso e altre informazioni pertinenti. Di seguito è riportata una richiesta di esempio dal client ad Amazon Lex, con l'attributo di sessione currentReservation mostrato nel corpo della richiesta.

    POST /bot/BookTrip/alias/$LATEST/user/wch89kjqcpkds8seny7dly5x3otq68j3/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"Chicago", "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\", \"Location\":\"Moscow\", \"RoomType\":null, \"CheckInDate\":null, \"Nights\":null}" } }

     

  • lastConfirmedReservation— Contiene informazioni simili relative a un intento precedente, se del caso. Ad esempio, se l'utente ha prenotato un hotel e poi sta prenotando un'auto, questo attributo di sessione memorizza i dati degli slot per l' BookHotel intento precedente.

     

  • confirmationContext— La funzione Lambda lo impostaAutoPopulate quando precompila alcuni dati dello slot in base ai dati dello slot della prenotazione precedente (se presente). Ciò consente la condivisione delle informazioni tra più intenti. Ad esempio, se l'utente aveva precedentemente prenotato un hotel e ora desidera prenotare un'auto, Amazon Lex può richiedere all'utente di confermare (o negare) che l'auto è stata prenotata per la stessa città e le stesse date della prenotazione alberghiera

In questo esercizio utilizzerai i blueprint per creare un bot Amazon Lex e una funzione Lambda. Per ulteriori informazioni sui piani, consulta Amazon Lex eAWS LambdaPiani.

Fase successiva

Fase 1. Analisi dei piani utilizzati in questo esercizio