Jadwalkan Janji Temu - Amazon Lex V1

Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.

 

Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jadwalkan Janji Temu

Contoh bot dalam latihan ini menjadwalkan janji temu untuk kantor dokter gigi. Contoh ini juga menggambarkan penggunaan kartu respons untuk mendapatkan input pengguna dengan tombol. Secara khusus, contoh ini menggambarkan menghasilkan kartu respons secara dinamis saat runtime.

Anda dapat mengonfigurasi kartu respons pada waktu pembuatan (juga disebut sebagai kartu respons statis) atau menghasilkannya secara dinamis dalam suatu AWS Lambda fungsi. Dalam contoh ini, bot menggunakan kartu respons berikut:

  • Kartu respons yang mencantumkan tombol untuk jenis janji temu. Lihat gambar berikut untuk contoh:

    Kartu respons meminta jenis janji temu untuk menjadwalkan dan tiga opsi: pembersihan (30 menit), saluran akar (60 menit), dan pemutihan (90 menit).
  • Kartu respons yang mencantumkan tombol untuk tanggal janji temu. Lihat gambar berikut untuk contoh:

    Kartu respons menanyakan tanggal untuk menjadwalkan janji temu dan tiga opsi: 2-15, 2-16, dan 2-17.
  • Kartu respons yang mencantumkan tombol untuk mengonfirmasi waktu janji yang disarankan. Lihat gambar berikut untuk contoh:

    Kartu respons meminta konfirmasi waktu dan tanggal janji temu, dengan dua opsi: ya dan tidak.

Tanggal dan waktu janji temu yang tersedia bervariasi, yang mengharuskan Anda menghasilkan kartu respons saat runtime. Anda menggunakan AWS Lambda fungsi untuk menghasilkan kartu respons ini secara dinamis. Fungsi Lambda mengembalikan kartu respons sebagai responsnya terhadap Amazon Lex. Amazon Lex menyertakan kartu respons dalam tanggapannya terhadap klien.

Jika klien (misalnya, Facebook Messenger) mendukung kartu respons, pengguna dapat memilih dari daftar tombol atau mengetik respons. Jika tidak, pengguna cukup mengetik respons.

Selain tombol yang ditunjukkan pada contoh sebelumnya, Anda juga dapat menyertakan gambar, lampiran, dan informasi berguna lainnya untuk ditampilkan pada kartu respons. Untuk informasi tentang kartu respons, lihatKartu Respon.

Dalam latihan ini, Anda melakukan hal berikut:

  • Buat dan uji bot (menggunakan ScheduleAppointment cetak biru). Untuk latihan ini, Anda menggunakan cetak biru bot untuk mengatur dan menguji bot dengan cepat. Untuk daftar cetak biru yang tersedia, lihat. Bot Amazon Lex danAWS LambdaCetak Biru ini telah dikonfigurasi sebelumnya dengan satu maksud (). MakeAppointment

     

  • Buat dan uji fungsi Lambda (menggunakan lex-make-appointment-python cetak biru yang disediakan oleh Lambda). Anda mengonfigurasi MakeAppointment intent untuk menggunakan fungsi Lambda ini sebagai hook kode untuk melakukan tugas inisialisasi, validasi, dan pemenuhan.

    catatan

    Contoh fungsi Lambda yang diberikan menampilkan percakapan dinamis berdasarkan ketersediaan tiruan dari janji temu dokter gigi. Dalam aplikasi nyata, Anda dapat menggunakan kalender nyata untuk mengatur janji temu.

  • Perbarui konfigurasi MakeAppointment intent untuk menggunakan fungsi Lambda sebagai pengait kode. Kemudian, uji end-to-end pengalamannya.

  • Publikasikan bot janji temu jadwal ke Facebook Messenger sehingga Anda dapat melihat kartu respons beraksi (klien di konsol Amazon Lex saat ini tidak mendukung kartu respons).

Bagian berikut memberikan informasi ringkasan tentang cetak biru yang Anda gunakan dalam latihan ini.

Ikhtisar Bot Blueprint () ScheduleAppointment

ScheduleAppointment Cetak biru yang Anda gunakan untuk membuat bot untuk latihan ini telah dikonfigurasi sebelumnya dengan yang berikut:

  • Jenis slot — Satu jenis slot khusus disebutAppointmentTypeValue, dengan nilai enumerasiroot canal,, cleaning dan. whitening

  • Intent - One intent (MakeAppointment), yang telah dikonfigurasi sebelumnya sebagai berikut:

    • Slot — Maksud dikonfigurasi dengan slot berikut:

      • SlotAppointmentType, dari jenis AppointmentTypes kustom.

      • SlotDate, dari tipe AMAZON.DATE bawaan.

      • SlotTime, dari tipe AMAZON.TIME bawaan.

    • Ucapan - Maksud telah dikonfigurasi sebelumnya dengan ucapan berikut:

      • “Saya ingin membuat janji”

      • “Pesan janji”

      • “Pesan {AppointmentType}”

      Jika pengguna mengucapkan salah satu dari ini, Amazon Lex menentukan bahwa MakeAppointment maksudnya, dan kemudian menggunakan petunjuknya untuk memperoleh data slot.

    • Prompts - Maksud sudah dikonfigurasi sebelumnya dengan petunjuk berikut:

      • Prompt untuk AppointmentType slot — “Jenis janji apa yang ingin Anda jadwalkan?”

      • Prompt untuk Date slot — “Kapan saya harus menjadwalkan {AppointmentType} Anda?”

      • Prompt untuk Time slot — “Pada jam berapa Anda ingin menjadwalkan {AppointmentType}?” and

        “Pada jam berapa di {Date}?”

      • Prompt konfirmasi — “{Waktu} tersedia, haruskah saya melanjutkan dan memesan janji temu Anda?”

      • Batalkan pesan— “Oke, saya tidak akan menjadwalkan janji temu.”

Ikhtisar Cetak Biru Fungsi Lambda () lex-make-appointment-python

Fungsi Lambda blueprint (lex-make-appointment-python) adalah hook kode untuk bot yang Anda buat menggunakan cetak biru bot. ScheduleAppointment

Kode cetak biru fungsi Lambda ini dapat melakukan tugas inisialisasi/validasi dan pemenuhan.

  • Kode fungsi Lambda menampilkan percakapan dinamis yang didasarkan pada ketersediaan contoh untuk janji dokter gigi (dalam aplikasi nyata, Anda mungkin menggunakan kalender). Untuk hari atau tanggal yang ditentukan pengguna, kode dikonfigurasi sebagai berikut:

    • Jika tidak ada janji temu yang tersedia, fungsi Lambda mengembalikan respons yang mengarahkan Amazon Lex untuk meminta pengguna untuk hari atau tanggal lain (dengan menyetel jenisnya ke. dialogAction ElicitSlot) Untuk informasi selengkapnya, lihat Format Respons.

    • Jika hanya ada satu janji temu yang tersedia pada hari atau tanggal yang ditentukan, fungsi Lambda menyarankan waktu yang tersedia dalam respons dan mengarahkan Amazon Lex untuk mendapatkan konfirmasi pengguna dengan menyetel respons ke. dialogAction ConfirmIntent Ini menggambarkan bagaimana Anda dapat meningkatkan pengalaman pengguna dengan secara proaktif menyarankan waktu yang tersedia untuk janji temu.

    • Jika ada beberapa janji temu yang tersedia, fungsi Lambda mengembalikan daftar waktu yang tersedia sebagai respons terhadap Amazon Lex. Amazon Lex mengembalikan respons ke klien dengan pesan dari fungsi Lambda.

  • Sebagai hook kode pemenuhan, fungsi Lambda mengembalikan pesan ringkasan yang menunjukkan bahwa janji temu dijadwalkan (yaitu, maksud terpenuhi).

catatan

Dalam contoh ini, kami menunjukkan cara menggunakan kartu respons. Fungsi Lambda membangun dan mengembalikan kartu respons ke Amazon Lex. Kartu respons mencantumkan hari dan waktu yang tersedia sebagai tombol untuk dipilih. Saat menguji bot menggunakan klien yang disediakan oleh konsol Amazon Lex, Anda tidak dapat melihat kartu respons. Untuk melihatnya, Anda harus mengintegrasikan bot dengan platform perpesanan, seperti Facebook Messenger. Untuk petunjuk, silakan lihat Mengintegrasikan Amazon Lex Bot dengan Facebook Messenger. Untuk informasi selengkapnya tentang kartu respons, lihatMengelola Pesan .

Ketika Amazon Lex memanggil fungsi Lambda, ia meneruskan data peristiwa sebagai input. Salah satu bidang acara adalahinvocationSource, yang digunakan fungsi Lambda untuk memilih antara validasi input dan aktivitas pemenuhan. Untuk informasi selengkapnya, lihat Format Peristiwa Masukan.

Langkah Selanjutnya

Langkah 1: Buat Amazon Lex Bot