Tentang konsumen keterampilan
BERLAKU UNTUK: SDK v4
Konsumen keterampilan adalah bot yang dapat memanggil satu atau beberapa keterampilan. Sehubungan dengan keterampilan, bot akar adalah bot yang dihadapi pengguna yang juga merupakan konsumen keterampilan.
Dari perspektif pengguna, bot akar adalah bot yang berinteraksi dengan mereka. Dari perspektif keterampilan, konsumen keterampilan adalah saluran di mana ia berkomunikasi dengan pengguna. (Untuk informasi selengkapnya, lihat gambaran umum keterampilan.)
Sebagai konsumen yang terampil, akar bot mencakup beberapa logika tambahan untuk mengelola lalu lintas antara itu dan keterampilan:
- Informasi konfigurasi untuk setiap keterampilan yang digunakan akar.
- Pabrik ID percakapan yang memungkinkan akar untuk beralih bolak-balik antara percakapan yang dimilikinya dengan pengguna dan yang dimilikinya dengan keterampilan.
- Klien keterampilan yang dapat mengemas dan meneruskan aktivitas ke bot keterampilan.
- Penangan keterampilan yang dapat menerima permintaan dan membongkah aktivitas dari bot keterampilan.
Mengelola keterampilan
Memulai dan membiarkan keterampilan tunggal berjalan untuk penyelesaian dikelola dengan beberapa tambahan untuk konsumen keterampilan. Skenario yang lebih kompleks dimungkinkan, dengan beberapa keterampilan atau utas percakapan.
Konsumen yang terampil mengimplementasikan setidaknya dua titik akhir HTTP:
- Titik akhir olahpesan menerima aktivitas dari pengguna atau saluran. Ini adalah titik akhir olahpesan biasa yang diterapkan semua bot.
- Sebuah titik akhir host keterampilan untuk menerima aktivitas dari keterampilan. Tindakan ini bertindak sebagai URL callback, URL layanan yang di balasan keterampilannya. (Konsumen keterampilan perlu memasangkan kode yang menerima permintaan metode HTTP dari keterampilan dengan pengatur keterampilan.)
Deskripsi keterampilan
Untuk setiap keterampilan, tambahkan objek keterampilan Kerangka Kerja Bot ke file konfigurasi konsumen keterampilan. Masing-masing akan memiliki ID, ID aplikasi, dan titik akhir untuk keterampilan tersebut.
| Properti | Deskripsi |
|---|---|
| ID | ID atau kunci keterampilan, khusus untuk konsumen keterampilan. |
| ID Aplikasi | Ditetapkan appId ke sumber daya bot ketika keterampilan terdaftar di Azure. |
| Titik akhir keterampilan | Titik akhir olahpesan untuk keterampilan tersebut. Ini adalah URL yang akan digunakan konsumen untuk berkomunikasi dengan keterampilan. |
Klien keterampilan dan penangan keterampilan
Konsumen keterampilan menggunakan klien keterampilan untuk mengirim aktivitas ke keterampilan. Klien:
- Mengambil aktivitas untuk mengirim ke keterampilan, baik dari pengguna atau yang dihasilkan oleh konsumen.
- Mengatur URL layanan pada aktivitas yang dikirim ke keterampilan ke titik akhir host keterampilan konsumen.
- Mengganti referensi percakapan asli dengan referensi percakapan untuk percakapan keterampilan konsumen.
- Menambahkan token autentikasi bot-ke-bot.
- Mengirim aktivitas yang diperbarui ke keterampilan.
Konsumen keterampilan menggunakan penangan keterampilan untuk menerima aktivitas dari keterampilan. Handler:
- Menangani metode REST API layanan saluran.
- Memberlakukan validasi autentikasi dan klaim.
- Mengambil referensi percakapan asli.
- Menghasilkan aktivitas untuk adaptor konsumen. Aktivitas ini akan mengisyaratkan bahwa keterampilan telah selesai atau menjadi aktivitas untuk diteruskan kepada pengguna.
Mengelola keterampilan secara langsung
Anda perlu menambahkan logika ke konsumen keterampilan Anda untuk melacak keterampilan aktif apa pun. Hal ini tergantung pada konsumen tentang bagaimana ia mengelola keterampilan secara umum, apakah dapat mempertahankan beberapa keterampilan aktif secara paralel atau tidak, dan sebagainya. Skenario tertentu untuk dipertimbangkan meliputi:
- Memulai percakapan keterampilan konsumen baru. (Ini akan dikaitkan dengan percakapan pengguna konsumen tertentu.)
- Untuk menyampaikan parameter ke keterampilan, atur properti nilai dalam aktivitas awal ke keterampilan.
- Melanjutkan percakapan keterampilan konsumen yang sudah ada.
- Mengenali
endOfConversationaktivitas dari keterampilan sebagai sinyal akhir percakapan keterampilan konsumen.- Untuk mengambil nilai yang dikembalikan dari keterampilan, periksa properti nilai aktivitas.
- Untuk memeriksa mengapa keterampilan berakhir, periksa parameter kode aktivitas, yang dapat mengindikasikan bahwa keterampilan mengalami kesalahan.
- Membatalkan keterampilan dari konsumen dengan mengirimkan
endOfConversationaktivitas ke keterampilan.
Lihat cara mengimplementasikan konsumen keterampilan bagi konsumen yang mengelola keterampilan secara langsung.
Mengelola keterampilan menggunakan dialog keterampilan
Jika menggunakan pustaka dialog, Anda dapat menggunakan dialog keterampilan untuk mengelola keterampilan. Sementara dialog keterampilan adalah dialog aktif, itu akan meneruskan aktivitas ke keterampilan yang terkait.
- Saat Anda membuat dialog keterampilan, gunakan parameter opsi dialog untuk menyediakan semua informasi yang diperlukan dialog untuk mengelola keterampilan, seperti ID aplikasi konsumen dan URL callback, pabrik ID percakapan untuk digunakan, properti keterampilan, dan seterusnya.
- Jika Anda ingin mengelola lebih dari satu keterampilan sebagai dialog, Anda perlu membuat dialog keterampilan terpisah untuk setiap keterampilan.
- Sering kali, Anda akan menambahkan dialog keterampilan ke dialog komponen.
- Untuk memulai dialog keterampilan, gunakan metode mulai konteks dialog dan berikan ID dialog keterampilan. Gunakan parameter opsi untuk menyediakan aktivitas yang akan dikirim konsumen sebagai aktivitas pertama ke keterampilan.
- Anda dapat membatalkan atau mengganggu dialog keterampilan seperti dialog lainnya. Lihat cara menangani gangguan pengguna untuk contoh.
Lihat cara menggunakan dialog untuk menggunakan keterampilan bagi konsumen yang menggunakan dialog untuk mengelola keterampilan.
Menggunakan mode pengiriman balasan yang diharapkan
Bot dan keterampilan menggunakan REST standar industri dan JSON melalui HTTPS untuk komunikasi. Alur pemrosesan aktivitas normal dimulai ketika bot akar menerima postingan dari saluran di titik akhir olahpesannya. Bot akar kemudian mengirimkan aktivitas ke keterampilan untuk diproses. Balasan dari keterampilan diposting kembali ke titik akhir host keterampilan bot akar, bukan titik akhir olahpesannya. Akhirnya, balasan diproses lebih lanjut atau diposting kembali ke saluran oleh bot akar. Aliran normal ini dapat diubah dengan mengubah mode pengiriman aktivitas yang dikirim ke keterampilan. Jika mode pengiriman diatur ke "ExpectReplies", keterampilan tidak akan diposting kembali ke titik akhir host keterampilan. Sebagai gantinya, semua aktivitas balasan diserialisasikan ke dalam isi respons. Bot akar kemudian diulangi atas aktivitas ini, memprosesnya mirip dengan bagaimana mereka akan diproses oleh titik akhir host keterampilan.
Untuk informasi, lihat mode Pengiriman dalam spesifikasi Aktivitas.