Model Pemrograman - 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.

Model Pemrograman

Bot adalah jenis sumber daya utama di Amazon Lex. Jenis sumber daya lain di Amazon Lex adalah maksud, jenis slot, alias, dan asosiasi saluran bot.

Anda membuat bot menggunakan konsol Amazon Lex atau API pembuatan model. Konsol menyediakan antarmuka pengguna grafis yang Anda gunakan untuk membuat bot siap produksi untuk aplikasi Anda. Jika mau, Anda dapat menggunakan API pembuatan model melaluiAWS CLI atau program khusus Anda sendiri untuk membuat bot.

Setelah Anda membuat bot, Anda menerapkannya di salah satu platform yang didukung atau mengintegrasikannya ke dalam aplikasi Anda sendiri. Saat pengguna berinteraksi dengan bot, aplikasi klien mengirimkan permintaan ke bot menggunakan API runtime Amazon Lex. Misalnya, ketika pengguna mengatakan “Saya ingin memesan pizza,” klien Anda mengirimkan masukan ini ke Amazon Lex menggunakan salah satu operasi API runtime. Pengguna dapat memberikan masukan sebagai ucapan atau teks.

Anda juga dapat membuat fungsi Lambda dan menggunakannya dalam intent. Gunakan kait kode fungsi Lambda ini untuk melakukan aktivitas runtime seperti inisialisasi, validasi input pengguna, dan pemenuhan maksud. Bagian berikut memberikan informasi tambahan.

Operasi API Membangun Model Membangun Operasi API Bangunan Model

Untuk membuat bot, intent, dan tipe slot secara terprogram, gunakan operasi API pembuatan model. Anda juga dapat menggunakan API pembuatan model untuk mengelola, memperbarui, dan menghapus sumber daya untuk bot Anda. Operasi API pembuatan model meliputi:

Anda dapat menggunakan API pembuatan model untuk membuat alat khusus untuk mengelola sumber daya Amazon Lex Anda. Misalnya, ada batas 100 versi masing-masing untuk bot, intent, dan jenis slot. Anda dapat menggunakan API pembuatan model untuk membuat alat yang secara otomatis menghapus versi lama saat bot Anda mendekati batas.

Untuk memastikan bahwa hanya satu operasi yang memperbarui sumber daya pada satu waktu, Amazon Lex menggunakan checksum. Saat Anda menggunakan operasiPut API—PutBot,PutBotAliasPutIntent, atauPutSlotType —untuk memperbarui sumber daya, Anda harus meneruskan checksum sumber daya saat ini dalam permintaan. Jika dua alat mencoba memperbarui sumber daya secara bersamaan, keduanya menyediakan checksum saat ini yang sama. Permintaan pertama untuk mencapai Amazon Lex cocok dengan checksum sumber daya saat ini. Pada saat permintaan kedua tiba, checksum berbeda. Alat kedua menerimaPreconditionFailedException pengecualian dan pembaruan berakhir.

GetOperasi—GetBot,GetIntent, danGetSlotType - akhirnya konsisten. Jika Anda menggunakanGet operasi segera setelah Anda membuat atau memodifikasi sumber daya dengan salah satuPut operasi, perubahan mungkin tidak dikembalikan. SetelahGet operasi mengembalikan pembaruan terbaru, selalu mengembalikan sumber daya yang diperbarui sampai sumber daya diubah lagi. Anda dapat menentukan apakah sumber daya yang diperbarui telah dikembalikan dengan melihat checksum.

Operasi API Waktu Aktif Waktu Aktif Ter

Aplikasi klien menggunakan operasi API runtime berikut untuk berkomunikasi dengan Amazon Lex:

  • PostContent- Membawa ucapan atau input teks dan mengembalikan informasi maksud dan teks atau pesan ucapan untuk disampaikan kepada pengguna. Saat ini, Amazon Lex mendukung format audio berikut:

     

    Format audio masukan — LPCM dan Opus

    Format audio keluaran - MPEG, OGG, dan PCM

     

    PostContentOperasi ini mendukung input audio pada 8 kHz dan 16 kHz. Aplikasi di mana pengguna akhir berbicara dengan Amazon Lex melalui telepon, seperti pusat panggilan otomatis, dapat melewati audio 8 kHz secara langsung.

     

  • PostText- Membawa teks sebagai input dan mengembalikan informasi maksud dan pesan teks untuk disampaikan kepada pengguna.

Aplikasi klien Anda menggunakan API waktu proses untuk memanggil bot Amazon Lex tertentu untuk memproses ucapan — teks pengguna atau input suara. Misalnya, misalkan pengguna mengatakan “Saya ingin pizza.” Klien mengirimkan input pengguna ini ke bot menggunakan salah satu operasi API runtime Amazon Lex. Dari input pengguna, Amazon Lex mengakui bahwa permintaan pengguna adalah untukOrderPizza maksud yang ditentukan dalam bot. Amazon Lex melibatkan pengguna dalam percakapan untuk mengumpulkan informasi yang diperlukan, atau data slot, seperti ukuran pizza, topping, dan jumlah pizza. Setelah pengguna menyediakan semua data slot yang diperlukan, Amazon Lex akan memanggil hook kode fungsi Lambda untuk memenuhi maksud, atau mengembalikan data maksud ke klien, tergantung pada bagaimana maksud dikonfigurasi.

GunakanPostContent operasi saat bot Anda menggunakan input ucapan. Misalnya, aplikasi call center otomatis dapat mengirim pidato ke bot Amazon Lex, bukan agen untuk menjawab pertanyaan pelanggan. Anda dapat menggunakan format audio 8 kHz untuk mengirim audio langsung dari telepon ke Amazon Lex.

Jendela pengujian di konsol Amazon Lex menggunakanPostContent API untuk mengirim permintaan teks dan ucapan ke Amazon Lex. Anda menggunakan jendela tes ini dalamMemulai dengan Amazon Lex latihan.

Fungsi Lambda Sebagai Pengait Kode

Anda dapat mengonfigurasi bot Amazon Lex Anda untuk menjalankan fungsi Lambda sebagai pengait kode. Kode hook dapat melayani beberapa tujuan:

  • Menyesuaikan interaksi pengguna—misalnya, ketika Joe meminta topping pizza yang tersedia, Anda dapat menggunakan pengetahuan sebelumnya tentang pilihan Joe untuk menampilkan subset topping.

  • Memvalidasi input pengguna—Misalkan Jen ingin mengambil bunga setelah jam kerja. Anda dapat memvalidasi waktu yang Jen masukan dan mengirim respon yang sesuai.

  • Memenuhi maksud pengguna—Setelah Joe menyediakan semua informasi untuk pesanan pizza-nya, Amazon Lex dapat memanggil fungsi Lambda untuk memesan dengan restoran pizza lokal.

Saat mengonfigurasi maksud, Anda menentukan fungsi Lambda sebagai kait kode di tempat berikut:

  • Pengait kode dialog untuk inisialisasi dan validasi — Fungsi Lambda ini dipanggil pada setiap input pengguna, dengan asumsi Amazon Lex memahami maksud pengguna.

  • Fulfillment code hook—Fungsi Lambda ini dipanggil setelah pengguna menyediakan semua data slot yang diperlukan untuk memenuhi maksud.

Anda memilih maksud dan mengatur kait kode di konsol Amazon Lex, seperti yang ditunjukkan pada tangkapan layar berikut:

Konsol Amazon Lex menampilkan kait kode fungsi Lambda.

Anda juga dapat mengatur kait kode menggunakandialogCodeHook danfulfillmentActivity bidang dalamPutIntent operasi.

Satu fungsi Lambda dapat melakukan inisialisasi, validasi, dan pemenuhan. Data peristiwa yang diterima fungsi Lambda memiliki bidang yang mengidentifikasi pemanggil sebagai dialog atau pengait kode pemenuhan. Anda dapat menggunakan informasi ini untuk menjalankan bagian kode Anda yang sesuai.

Anda dapat menggunakan fungsi Lambda untuk membuat bot yang dapat menavigasi dialog yang kompleks. Anda menggunakandialogAction bidang dalam respons fungsi Lambda untuk mengarahkan Amazon Lex untuk mengambil tindakan tertentu. Misalnya, Anda dapat menggunakan tindakanElicitSlot dialog untuk memberi tahu Amazon Lex agar meminta nilai slot yang tidak diperlukan kepada pengguna. Jika Anda memiliki prompt klarifikasi yang ditentukan, Anda dapat menggunakan tindakanElicitIntent dialog untuk mendapatkan maksud baru saat pengguna selesai dengan yang sebelumnya.

Untuk informasi selengkapnya, lihat Menggunakan Fungsi Lambda.