Bagikan melalui


Pustaka dialog

BERLAKU UNTUK: SDK v4

Dialog adalah konsep cMicrosoft Entral di SDK, menyediakan cara untuk mengelola percakapan yang berjalan lama dengan pengguna. Dialog melakukan tugas yang dapat mewakili bagian dari atau utas percakapan lengkap. Ini dapat mencakup hanya satu belokan atau banyak, dan dapat menjangkau jangka waktu yang pendek atau lama.

Artikel ini menjelaskan kelas inti dan fitur pustaka dialog.

  • Anda harus terbiasa dengan cara kerja bot (termasuk apa gilirannya) dan mengelola status.
  • Setiap dialog mewakili tugas percakapan yang dapat berjalan hingga selesai dan mengembalikan informasi yang dikumpulkan.
  • Setiap dialog mewakili unit dasar alur kontrol: dapat dimulai, dilanjutkan, dan berakhir; jeda dan lanjutkan; atau dibatalkan.
  • Dialog mirip dengan metode atau fungsi dalam bahasa pemrograman. Anda dapat meneruskan argumen atau parameter saat memulai dialog, dan dialog nantinya dapat menghasilkan nilai pengembalian saat berakhir.

Tip

Jika Anda baru mengembangkan bot dengan Bot Framework atau menciptakan pengalaman percakapan baru, mulailah dengan Bot Framework Composer. Untuk bot SDK-first yang ada, tidak dibuat di Composer, pertimbangkan untuk mengekspos bot Anda sebagai keterampilan dan menggunakan Composer untuk pengembangan bot di masa mendatang.

Status dialog

Dialog dapat mengimplementasikan percakapan multi-giliran, dan dengan demikian, mereka mengandalkan status tetap di seluruh giliran. Tanpa status dalam dialog, bot Anda tidak akan tahu di mana bot tersebut berada dalam percakapan atau informasi apa yang telah dikumpulkannya.

Untuk mempertahankan tempat dialog dalam percakapan, status dialog harus diambil dari dan disimpan ke memori setiap giliran. Ini ditangani melalui aksesor properti status dialog yang ditentukan pada status percakapan bot. Status dialog ini mengelola informasi untuk semua dialog aktif, dan turunan dialog aktif. Ini memungkinkan bot untuk mengambil tempat terakhir dan menangani berbagai model percakapan.

Pada waktu proses, properti status dialog menyertakan informasi di mana dialog berada dalam proses logisnya, termasuk informasi yang dikumpulkan secara internal dalam bentuk objek instans dialog. Sekali lagi, ini perlu dibaca ke dalam bot dan disimpan ke memori setiap giliran.

Infrastruktur dialog

Seiring dengan berbagai jenis dialog, kelas berikut terlibat dalam desain dan kontrol percakapan. Meskipun Anda biasanya tidak perlu berinteraksi dengan kelas-kelas ini secara langsung, menyadarinya dan tujuannya berguna saat merancang dialog untuk bot.

Kelas Deskripsi
Kumpulan dialog Mendefinisikan kumpulan dialog yang dapat mereferensikan satu sama lain dan bekerja dalam konser.
Konteks dialog Berisi informasi tentang semua dialog aktif.
Instans dialog Berisi informasi tentang satu dialog aktif.
Hasil giliran dialog Berisi informasi status dari dialog aktif, atau baru-baru ini aktif. Jika dialog aktif berakhir, ini berisi nilai pengembaliannya.

Jenis dialog

Pustaka dialog menyediakan beberapa jenis dialog untuk membuat percakapan bot Anda lebih mudah dikelola. Beberapa jenis ini dijelaskan secara lebih rinci nanti di artikel ini.

Tipe Deskripsi
dialog Kelas dasar untuk semua dialog.
dialog kontainer Kelas dasar untuk semua dialog kontainer , seperti komponen dan dialog adaptif. Ini mempertahankan kumpulan dialog dalam dan memungkinkan Anda memperlakukan kumpulan dialog sebagai unit.
dialog komponen Jenis dialog kontainer tujuan umum yang merangkum sekumpulan dialog, memungkinkan penggunaan kembali set secara keseluruhan. Saat dialog komponen dimulai, dialog dimulai dengan dialog yang ditunjuk dalam koleksinya. Ketika proses dalam selesai, dialog komponen berakhir.
dialog air terjun Menentukan urutan langkah-langkah, memungkinkan bot Anda untuk memandu pengguna melalui proses linier. Ini biasanya dirancang untuk bekerja dalam konteks dialog komponen.
dialog prompt Mintalah input kepada pengguna dan kembalikan hasilnya. Perintah akan diulang hingga mendapatkan input yang valid atau dibatalkan. Mereka dirancang untuk bekerja dengan dialog air terjun.
dialog adaptif Jenis dialog kontainer yang digunakan oleh Composer untuk menyediakan alur percakapan yang lebih alami. Tidak dimaksudkan untuk digunakan langsung dalam bot SDK-first.
dialog tindakan Jenis dialog yang mendukung implementasi tindakan di Composer. Tidak dimaksudkan untuk digunakan langsung dalam bot SDK-first.
dialog input Jenis dialog yang mendukung implementasi tindakan input di Composer. Tidak dimaksudkan untuk digunakan langsung dalam bot SDK-first.
dialog keterampilan Mengotomatiskan manajemen satu atau beberapa bot keterampilan dari konsumen keterampilan. Composer secara langsung mendukung keterampilan sebagai tindakan.
Dialog QnA Maker Mengotomatiskan akses ke basis pengetahuan QnA Maker. Dialog ini dirancang untuk juga berfungsi sebagai tindakan dalam Composer.

Penting

Dialog adaptif pertama kali ditambahkan dalam versi 4.9 dari C# SDK. Dialog adaptif mendukung Bot Framework Composer dan tidak dimaksudkan untuk digunakan langsung dalam bot SDK-first.

Pola dialog

Ada dua pola utama untuk memulai dan mengelola dialog dari bot.

  1. Sebaiknya gunakan Bot Framework Composer untuk menulis dialog percakapan, untuk mendapatkan manfaat dari kemampuan percakapan yang lebih alami dan mengalir bebas. Untuk informasi selengkapnya, lihat Pengantar Bot Framework Composer. Bot tersebut masih dapat diperluas dengan kode jika diperlukan.
  2. Kembangkan bot Anda dalam salah satu bahasa SDK dan gunakan metode ekstensi eksekusi dialog akar Anda. Untuk informasi tentang menggunakan metode eksekusi dengan dialog komponen, lihat tentang dialog komponen dan air terjun dan cara menerapkan alur percakapan berurutan.

Tumpukan dialog

Konteks dialog berisi informasi tentang semua dialog aktif dan menyertakan tumpukan dialog, yang bertindak sebagai tumpukan panggilan untuk semua dialog aktif. Setiap dialog kontainer memiliki sekumpulan dialog dalam yang dikontrolnya, sehingga setiap dialog kontainer aktif memperkenalkan konteks dialog dalam dan tumpukan dialog sebagai bagian dari statusnya.

Meskipun Anda tidak akan mengakses tumpukan secara langsung, memahami bahwa tumpukan tersebut ada dan fungsinya akan membantu Anda memahami cara kerja berbagai aspek pustaka dialog.

Dialog kontainer

Dialog kontainer dapat menjadi bagian dari kumpulan dialog yang lebih besar. Setiap kontainer memiliki kumpulan dialog dalam yang juga dikelola.

  • Setiap kumpulan dialog membuat cakupan untuk mengatasi ID dialog.

  • SDK saat ini mengimplementasikan dua jenis dialog kontainer: dialog komponen dan dialog adaptif.

    Struktur konseptual keduanya cukup berbeda. Namun, bot Composer dapat menggunakan keduanya.

ID Dialog

Saat Anda menambahkan dialog ke kumpulan dialog, Anda menetapkan ID unik dalam set tersebut. Dialog dalam satu set saling mereferensikan oleh ID mereka.

Ketika satu dialog mereferensikan dialog lain pada waktu proses, dialog akan melakukannya dengan ID dialog. Konteks dialog mencoba mengatasi ID berdasarkan dialog lain dalam kumpulan dialog langsung. Jika tidak ada kecocokan, ia mencari kecocokan dalam kumpulan dialog kontainer atau luar, dan sebagainya. Jika tidak ada kecocokan yang ditemukan, pengecualian atau kesalahan akan dihasilkan.

Dialog komponen

Dialog komponen menggunakan model urutan untuk percakapan, dan setiap dialog dalam kontainer bertanggung jawab untuk memanggil dialog lain dalam kontainer. Ketika tumpukan dialog dalam dialog komponen kosong, komponen berakhir.

Pertimbangkan untuk menggunakan dialog komponen dan air terjun jika bot Anda memiliki alur kontrol yang relatif sederhana yang tidak memerlukan alur percakapan yang lebih dinamis.

Tentang dialog komponen dan air terjun menjelaskan komponen, air terjun, dan dialog perintah secara lebih rinci.

Dialog lainnya

Dialog QnA Maker dan keterampilan dapat digunakan sebagai dialog mandiri atau sebagai bagian dari kumpulan dialog dalam kontainer.

Dialog QnA Maker

Catatan

Azure AI QnA Maker akan dihentikan pada 31 Maret 2025. Mulai 1 Oktober 2022, Anda tidak akan dapat membuat sumber daya atau basis pengetahuan QnA Maker baru. Versi kemampuan pertanyaan dan jawaban yang lebih baru sekarang tersedia sebagai bagian dari Bahasa Azure AI.

Jawaban atas pertanyaan kustom, fitur Bahasa Azure AI, adalah versi terbaru dari layanan QnA Maker. Untuk informasi selengkapnya tentang dukungan tanya jawab di Bot Framework SDK, lihat Pemahaman bahasa alami.

Dialog QnA Maker mengakses basis pengetahuan QnA Maker dan mendukung fitur permintaan tindak lanjut dan pembelajaran aktif QnA Maker.

  • Petunjuk tindak lanjut, juga dikenal sebagai perintah multi-giliran, memungkinkan basis pengetahuan meminta informasi lebih lanjut kepada pengguna sebelum menjawab pertanyaan mereka.
  • Saran pembelajaran aktif memungkinkan basis pengetahuan meningkat dari waktu ke waktu. Dialog QnA Maker mendukung umpan balik eksplisit untuk fitur pembelajaran aktif.

Untuk informasi selengkapnya, lihat:

Dialog keterampilan

Dialog keterampilan mengakses dan mengelola satu atau beberapa keterampilan. Dialog keterampilan memposting aktivitas dari bot induk ke bot keterampilan dan mengembalikan respons keterampilan kepada pengguna.

Untuk informasi selengkapnya, lihat:

Langkah berikutnya