Rumah  >  Artikel  >  Peranti teknologi  >  Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

王林
王林ke hadapan
2023-04-11 18:34:041810semak imbas

Penterjemah |. Li Rui

Penyemak |. Dalam pembangunan perisian dan aplikasi, bot ialah aplikasi yang direka untuk melaksanakan (atau melaksanakan secara automatik mengikut skrip pratetap) tindakan yang dibuat sebagai tindak balas kepada permintaan pengguna. Dalam artikel ini, Daniil Mikhov, pembangun .NET di NIX United, membentangkan contoh mencipta chatbot menggunakan Microsoft Azure Bot Services. Artikel ini akan membantu pembangun yang ingin membangunkan chatbots menggunakan perkhidmatan ini.

Mengapa menggunakan Perkhidmatan Bot Azure? Pakar syarikat berkomunikasi secara aktif dengan komuniti teknikal dan mengenal pasti dan membetulkan kelemahan dalam perkhidmatan dengan cepat. Selain itu, Microsoft menyediakan keupayaan untuk mencipta fail JSON tersuai untuk berfungsi dengan beberapa API Messenger, memberikan pembangun banyak kemungkinan apabila membuat chatbots. Adalah penting untuk mengingati faedah lain Perkhidmatan Azure Bot:

Perkhidmatan Bot Azure membenarkan Pembangun menggunakan alat SDK sumber terbuka (kit pembangunan perisian) untuk mencipta, menguji dan menggunakan chatbots.

Integrasi dengan perkhidmatan kognitif ialah perkhidmatan yang menggunakan alatan pembelajaran mesin di tempat kerja untuk menyelesaikan tugasan biasa. Perkhidmatan kognitif memastikan proses interaksi yang lebih baik antara chatbot dan pengguna.
  • Berbilang platform merujuk kepada keupayaan untuk menyambungkan chatbot ke berbilang saluran tanpa menukar kod asal.
  • Beribu-ribu contoh sumber terbuka untuk memudahkan proses pembangunan dan bermula dengan cepat (terdapat banyak contoh kod siap pakai pada GitHub).
  • Pembangun boleh melanjutkan infrastruktur chatbot pada platform Azure dengan menambahkan ciri baharu. Sebagai contoh, anda boleh menambah lebih banyak saluran dan menggunakan setiap saluran untuk ujian. Perkhidmatan Cosmos DB boleh digunakan untuk menyimpan keadaan perbualan dan maklumat yang dimasukkan pengguna. Untuk melatih chatbot anda, anda boleh menambah pemahaman bahasa (LUIS). Ia menggunakan algoritma pembelajaran mesin untuk berkomunikasi dengan lebih baik dengan pengguna. Walau bagaimanapun, LUIS tidak percuma, dan tidak setiap pelanggan mahu memperuntukkan dana tambahan.
  • Analisis Chatbot dalam Perkhidmatan Bot Azure​

Struktur fungsi chatbot yang dibuat pada Azure boleh dinyatakan sebagai:

Senarai saluran yang mungkin untuk disambungkan ke chatbot boleh dilihat di sebelah kanan. Senarai ini akan dikemas kini secara berterusan dengan platform baharu. Di bahagian bawahnya ialah Perkhidmatan Kognitif Microsoft tersedia pada platform Azure. Perkhidmatan ini membenarkan komunikasi dengan chatbots melalui permintaan suara, mimik muka, gerak isyarat dan banyak lagi.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot ServicesBot Builder SDK digunakan untuk membangunkan chatbots pada Azure. Produk ini berada dalam domain awam dan kelebihan utamanya ialah sokongan berterusan daripada pembangun. Dalam fork yang berasingan di GitHub, anda boleh mendapatkan maklumat terkini tentang perkhidmatan atau bertanya soalan pembangunnya.

Membuat chatbot​

Sebelum menulis kod, analisa nuansa yang perlu anda pertimbangkan sebelum membuat chatbot pada Azure Bot Service :

  • Kemas kini untuk memecahkan ciri. Microsoft Corporation sentiasa mengemas kini produknya. Kemas kini baharu sering memecahkan bahagian kod yang berfungsi sebelum ini. Jadi pastikan anda memahami senarai tampalan untuk versi Bot Builder SDK baharu dan manual lain yang digunakan untuk membangunkan chatbots mungkin menjadi tidak relevan.
  • Bukan penyelesaian yang jelas. Apabila menggunakan Bot Builder SDK, anda harus sentiasa terbuka kepada percubaan dan bersedia melakukan perkara secara berbeza daripada kebiasaan anda.
  • Kepelbagaian. Chatbot yang sama boleh dimuat naik ke saluran yang berbeza (Telegram, Skype, Slack, dll.) tanpa mengubah kod sumber. Anda harus ingat apabila membangunkan chatbots bahawa setiap platform mempunyai nuansa yang memerlukan pembangun untuk mengambil pendekatan yang berbeza apabila mencipta logik kerja aplikasi.

(1) Bolehkah chatbot memahami soalan orang dengan betul

🎜>Komunikasi dengan chatbot berlaku melalui antara muka pengguna. Antara muka pengguna membenarkan pembangun berkomunikasi dengan chatbot dalam bahasa yang difahaminya. Untuk tujuan ini, Microsoft Azure menggunakan sistem dialog yang mengikut hierarki tertentu:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Di sini anda boleh Lihat tiga asas cara untuk mewujudkan perbualan dengan chatbot:

  • Gesaan – Chatbots berinteraksi dengan pengguna melalui gesaan dan jawapan. Sebagai contoh, maklumat chatbot diberikan dalam bentuk gesaan digital. Prompt menyemak sama ada pengguna menjawab gesaan dengan betul. Jika berjaya, perbualan dengan chatbot akan diteruskan. Jika jawapan yang salah diterima daripada pengguna, dia akan diminta untuk memasukkan data yang sah.
  • Air Terjun – Air Terjun ialah kaedah mengumpul maklumat daripada pengguna melalui beberapa siri tugasan/soalan yang berturut-turut. Setiap langkah dialog air terjun dilaksanakan sebagai fungsi tak segerak. Pada setiap peringkat, chatbot meminta pengguna untuk memasukkan data, menunggu jawapan, dan kemudian menghantar keputusan ke langkah seterusnya. Hasil daripada fungsi pertama diluluskan sebagai parameter kepada fungsi seterusnya, dan seterusnya sehingga keseluruhan gelung masalah telah diluluskan.
  • Komponen - Komponen ialah cara untuk memecahkan kotak dialog yang besar kepada bahagian yang lebih kecil dan boleh diurus. Komponen membenarkan pembangun mencipta kotak dialog boleh guna semula dan menggunakannya kemudian dalam pelbagai senario bebas. Sebagai contoh, anda boleh menggunakan ini untuk mencipta kotak dialog yang akan meminta pengguna untuk nama jalan/alamat/kod pos mengikut turutan.

Di bahagian bawah, anda boleh melihat kaedah yang dibenarkan untuk membuat permintaan tersuai untuk chatbot:

  • Pertanyaan teks (teks)
  • Pertanyaan nombor (kuantiti)
  • Permintaan Tarikh/Masa (Masa Tarikh)
  • Sahkan Permintaan (Sahkan)
  • Pilih permintaan (pilih)
  • Permintaan lampiran (lampiran)

Pada dasarnya, pertanyaan ialah dialog berperingkat: pada peringkat pertama, chatbot meminta data input; Dalam fasa kedua, ia mengembalikan nilai yang sah kepada pengguna atau memulakan semula gelung pertanyaan data jika nilai tidak sah diterima.

(2) Pengawal dan templat

Lihat di bawahKod daripada contoh chatbot "Ingatkan saya nanti" yang dicipta oleh Daniil Mikhov, yang tugas utamanya adalah untuk mengingatkannya tentang sebarang tindakan yang perlu dia lakukan pada masa hadapan.

Untuk mencipta chatbot, Mikhov menggunakan Templat Kosong yang disediakan oleh Visual Studio, yang merangkumi beberapa jenis pengawal: BotController dan NotifyController.

BotController menerima mesej untuk chatbot dan menghantarnya ke rangka kerja chatbot. Chatbot juga menyertakan beberapa templat penggunaan untuk penggunaan aplikasi yang lebih mudah ke platform Azure.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Pengawal Pemberitahuan menentukan masa untuk menghantar mesej kepada pengguna. Isu ini akan dibincangkan dengan lebih terperinci kemudian.

(3) Mulakan fungsi dan isikan tab ToDoDialog

Pergi ke tab Startup.cs untuk melihat kandungannya. Di sini anda boleh melihat pengendali ralat berdaftar AdapterWithErrorHandler. Jika ralat berlaku dalam atur cara, tindak balas aplikasi terhadap ralat adalah perlu. Nota mendaftarkan ConversationState - gunakan ini untuk memberitahu bot sembang dengan pengguna yang mana ia berkomunikasi dan pada peringkat perbualan.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Lihat kandungan tab ToDoDialog.cs di bawah. Mikhov mengisytiharkan waterfallSteps, iaitu satu set langkah dalam kotak dialog air terjun, yang telah dinyatakan di atas. Dalam waterfallSteps, tentukan fungsi tak segerak yang digunakan dalam setiap langkah untuk membina perbualan antara pengguna dan chatbot.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Di bawah anda boleh melihat jenis input gesaan yang akan digunakan oleh chatbot. Kandungan di sini agak standard: chatbot akan bertanya kepada orang ramai tentang acara tersebut dan kemudian memberikan peringatan penjadualan.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Sekarang jalankan chatbot dan uji operasinya menggunakan antara muka Bot Framework Emulator.

(4) Pelancaran dan ujian pertama dalam simulator rangka kerja chatbot

Apabila menjalankan apl ini, pautan ke URL tempat chatbot akan menunggu mesej daripada pengguna akan dipaparkan.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Sebelum memulakan ujian, nyatakan pautan ini dalam simulator rangka kerja chatbot:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Dalam langkah komunikasi pertama, chatbot meminta pengguna memasukkan nama acara yang perlu diingatkan. Untuk melakukan ini, hubungi kod berikut : Apabila chatbot dipanggil, ia akan mengembalikan teks berikut: Sila masukkan perihalan acara. Selepas mengisytiharkan acara yang anda ingin diingatkan (seperti membeli susu) , hubungi kod dalam langkah kedua, di mana chatbot akan menyediakan satu daripada tiga pilihan masa peringatan:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Beri perhatian kepada penggunaan stepContext. Ia menyimpan semua maklumat tentang kotak dialog, merekodkan nilai perantaraan. Untuk melaksanakan senarai masa peringatan yang mungkin, ChoicePrompt digunakan. Kaedah ini akan memberi pengguna tiga pilihan dan kemungkinan masa peringatan (2 minit, 5 minit atau masa yang sama pada hari berikutnya) . Mungkin terdapat lebih banyak pilihan, tetapi hanya tiga yang dipilih.

Menggunakan pilihan untuk mewakili setiap masa pemilihan baharu, kita boleh mendapatkan:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Dalam simulator rangka kerja chatbot, kod ini akan dipaparkan seperti ini:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Anda boleh menggunakan Parse untuk menghuraikan keputusan. Sebagai peringatan, penghuraian ialah proses automatik untuk mengumpul data dan menstrukturkannya. Chatbot kemudiannya akan bertanya kepada pengguna jika mereka pasti tentang masa peringatan yang dipilih, menggunakan ConfirmPrompt untuk mengesahkan perjanjian:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Dari visual Seperti yang anda boleh lihat, kaedah ini kelihatan seperti ini:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Langkah terakhir adalah untuk mendapatkan semula maklumat yang telah diisi sebelum ini daripada stepContext dan Menghasilkan SavedNotificationModel yang mana Rujukan perbualan mesti ditambah. Tanpanya, chatbot tidak boleh menyambung semula perbualan dengan pengguna atau menentukan pengguna yang menangani isu tersebut secara khusus.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Mikhov menggunakan kaedah kamus sebagai repositori sementara untuk acara ini, terima kasih kepada penerimaan pakai, Chatbot memberikan instanceId uniknya kepada setiap dialog khusus:

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Ini akan berakhir dengan dialog chatbot. Anda boleh memaparkan teks kepada pengguna yang menunjukkan penghujung kotak dialog dan membuat permintaan peringatan yang sepadan: "Terima kasih. Pemberitahuan telah berjaya disimpan".

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

(5) Bagaimana chatbots bergerak melalui masa

Untuk Kepada cari chatbot dalam masa, Mikhov mencipta kaedah notifycontroller NotifyTimeCheck(). Pendekatan ini membolehkan aplikasi ditinjau secara sistematik dan jika acara tertentu akan berlaku, chatbot akan mendapatkan semula acara itu daripada kamus dan menghantar pemberitahuan kepada pengguna.

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Untuk mendapatkan pemberitahuan, kaedah ContinueConversationAsync() BotAdapter dipanggil, menghantar ConversationReference kepadanya. Parameter pertama ContinueConversationAsync() mestilah sentiasa menjadi appId (ID aplikasi) perkhidmatan chatbot, jika tidak, ia tidak akan berfungsi.

Selain itu, chatbot juga perlu diingatkan bahawa apabila tiba masa tertentu, acara itu mesti diingatkan kepada pengguna tertentu. Pembangun boleh menggunakan Fungsi Azure (BotTimerFunction), yang akan dicetuskan oleh pencetus masa (TimerTrigger).

Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services

Setiap minit, fungsi akan menghantar permintaan ke titik akhir ini dan mula menyemak acara yang ditentukan. Jika ia mencapai jangka masa yang betul, chatbot akan memberitahu pengguna bahawa acara yang dijadualkan akan berlaku.

Kini, WhatsApp, Facebook Messenger, Telegram dan alat komunikasi lain bukan sahaja platform komunikasi, tetapi juga platform perniagaan. Chatbots membantu perniagaan menjual dan mempromosikan barangan dan perkhidmatan dalam talian dengan berkesan. Mengautomasikan proses harian, menyediakan maklumat produk yang diperlukan kepada pelanggan tepat pada masanya, menerima dan memproses permintaan – semua ciri chatbot yang dikonfigurasikan dengan betul ini akan membantu menukar pengguna kepada pelanggan. Oleh itu, sebagai pembangun, anda harus ingat betapa popularnya alat ini sekarang dan betapa hebatnya untuk dapat mencipta aplikasi sedemikian dan menjadi pakar yang popular sebagai hasilnya.

Tajuk asal: Cara Membuat Chatbot Menggunakan Azure Bot Perkhidmatan: Arahan Langkah demi Langkah, Pengarang: Daniil Mikhov


Atas ialah kandungan terperinci Arahan langkah demi langkah tentang cara membuat chatbot menggunakan Azure Bot Services. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam