Slot dalam Rasa Open Source 2.x
Slot dalam Rasa Open Source 2.x
Catatan: Materi ini untuk Rasa 2.x. Sintaks telah diperbarui di Rasa 3.0, jadi disarankan pengguna baru memeriksa kursus baru tentang Tindakan Kustom.
Video
Video 3
Slot dalam Rasa
Di Rasa, slot adalah memori jangka panjang dalam percakapan. Jika ada informasi yang ingin disimpan untuk penggunaan nanti, biasanya disimpan dalam slot. Penting untuk dipahami bahwa slot tidak sama dengan entitas. Anda dapat menyimpan informasi apa pun di slot, bahkan jika tidak ada entitas yang terdeteksi. Namun, sangat umum untuk mengisi nilai slot dengan nilai entitas.
Untuk mendefinisikan slot, Anda perlu mendefinisikannya di file domain.
slots: destination: type: text influence_conversation: falsePerhatikan bahwa dalam konfigurasi ini kami menambahkan tag influence_conversation. Alasannya adalah slot dapat memengaruhi cerita. Anda mungkin memiliki sesuatu seperti ini di file stories.
stories:- story: memesan tiket penerbangan steps: - intent: book_a_ticket - slot_was_set: - destination: TorontoJika slot Anda dikonfigurasi untuk memengaruhi alur percakapan, Anda harus menyertakannya dalam cerita pelatihan.
Menyetel Slot
Biasanya, nilai slot akan diisi oleh entitas yang terdeteksi. Dalam situasi ini, file domain juga harus menyertakan entitas.
entities: - destinationslots: destination: type: text influence_conversation: falseDengan cara ini, ketika entitas terdeteksi, ia dapat mengisi nilai slot. Anda juga dapat mengatur nilai slot dengan tindakan kustom, tetapi akan dibahas di video selanjutnya.
Isi Otomatis
Secara default, slot yang memiliki nama entitas yang cocok akan secara otomatis diisi dengan nilai entitas tersebut. Anda dapat menonaktifkan perilaku ini dengan mengubah konfigurasi parameter auto_fill menjadi false.
entities:- destinationslots: destination: type: text auto_fill: falseTipe Slot
Di Rasa, slot memiliki tipe. Ini berguna karena beberapa jenis informasi lebih baik disajikan sebagai angka daripada string teks.
Slot Teks
Slot tipe teks dapat digunakan untuk menyimpan informasi teks apa pun. Ini dapat memengaruhi percakapan berdasarkan apakah slot telah diisi atau tidak.
slots: destination: type: text influence_conversation: trueSlot Boolean
Slot tipe boolean dapat digunakan untuk menyimpan informasi yang dapat memiliki nilai True atau False.
slots: authenticated: type: boolean influence_conversation: trueSlot Kategorikal
Slot tipe kategorikal dapat digunakan untuk menyimpan nilai yang dapat mengambil salah satu dari serangkaian nilai yang telah ditentukan.
slots: price_range: type: categorical values: - low - medium - highSlot Float
Slot tipe float dapat digunakan untuk menyimpan nilai numerik.
slots: radius: type: float min_value: 0 max_value: 100Slot Daftar
Slot daftar dapat digunakan untuk menyimpan daftar nilai. Saat dikonfigurasi, hanya keberadaan slot yang dapat memengaruhi alur percakapan. Nilai itu sendiri tidak akan diperhitungkan.
slots: items: type: listSlot 'Any'
Tipe slot "any" dapat digunakan untuk menyimpan nilai arbitrer apa pun. Slot tipe ini tidak memiliki pengaruh pada alur percakapan, yang berarti nilai dan keberadaan slot tidak memengaruhi jalannya percakapan.
slots: shopping_items: type: anyNilai Awal
Terakhir, penting untuk diketahui bahwa Anda juga dapat mengatur nilai default pada slot dengan mengonfigurasi parameter initial_value. Nilai tersebut akan ditetapkan ke slot sejak awal percakapan dan dapat diatur ulang nanti oleh NLU atau tindakan kustom.
slots: current_account: type: float initial_value: 100Tautan
Dokumentasi Slot Rasa
Latihan
Coba jawab pertanyaan berikut untuk menguji pengetahuan Anda.
- Kapan slot memengaruhi percakapan? Kapan tidak?
- Apa perbedaan antara slot dan entitas?
Platform Lainnya
Berita Piala Dunia
Jika Anda memiliki pertanyaan, silakan kirim email ke [email protected]