Bagikan melalui


Menggunakan QnA Maker untuk menjawab pertanyaan

BERLAKU UNTUK: SDK v4

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.

QnA Maker menyediakan lapisan pertanyaan dan jawaban percakapan atas data Anda. Ini memungkinkan bot Anda untuk mengirim pertanyaan ke QnA Maker dan menerima jawaban tanpa perlu mengurai dan menafsirkan maksud pertanyaan.

Salah satu persyaratan dasar dalam membuat layanan QnA Maker Anda sendiri adalah mengisinya dengan pertanyaan dan jawaban. Dalam banyak kasus, pertanyaan dan jawaban sudah ada dalam konten seperti Tanya Jawab Umum (FAQ) atau dokumentasi lainnya; di lain waktu, Anda mungkin ingin menyesuaikan jawaban Anda atas pertanyaan dengan cara percakapan yang lebih alami.

Artikel ini menjelaskan cara menggunakan basis pengetahuan QnA Maker yang ada dari bot Anda.

Untuk bot baru, pertimbangkan untuk menggunakan fitur jawaban atas pertanyaan Azure Cognitive Service for Language. Untuk informasi, lihat Menggunakan jawaban atas pertanyaan untuk menjawab pertanyaan.

Catatan

Bot Framework JavaScript, C#, dan Python SDK akan terus didukung, namun, Java SDK dihentikan dengan dukungan jangka panjang akhir yang berakhir pada November 2023.

Bot yang ada yang dibangun dengan Java SDK akan terus berfungsi.

Untuk pembuatan bot baru, pertimbangkan untuk menggunakan Power Virtual Agents dan baca tentang memilih solusi chatbot yang tepat.

Untuk informasi selengkapnya, lihat Masa depan pembuatan bot.

Prasyarat

Tentang sampel ini

Untuk menggunakan QnA Maker di bot, Anda memerlukan basis pengetahuan yang ada di portal QnA Maker. Bot Anda kemudian dapat menggunakan basis pengetahuan untuk menjawab pertanyaan pengguna.

Untuk pengembangan bot baru, pertimbangkan untuk menggunakan Power Virtual Agents. Jika Anda perlu membuat basis pengetahuan baru untuk bot Bot Framework SDK, lihat artikel layanan Azure AI berikut ini:

Alur logika C# QnABot

OnMessageActivityAsync dipanggil untuk setiap input pengguna yang diterima. Saat dipanggil, ia mengakses pengaturan konfigurasi dari file appsetting.json kode sampel untuk menemukan nilai untuk terhubung ke basis pengetahuan QnA Maker yang telah dikonfigurasi sebelumnya.

Input pengguna dikirim ke basis pengetahuan Anda dan jawaban terbaik yang dikembalikan ditampilkan kembali kepada pengguna Anda.

Mendapatkan nilai untuk menyambungkan bot Anda ke basis pengetahuan

Tip

Dokumentasi QnA Maker memiliki instruksi tentang cara membuat, melatih, dan menerbitkan basis pengetahuan Anda.

  1. Di situs QnA Maker, pilih basis pengetahuan Anda.
  2. Dengan basis pengetahuan Anda terbuka, pilih tab PENGATURAN. Rekam nilai yang ditampilkan untuk nama layanan. Nilai ini berguna untuk menemukan basis pengetahuan minat Anda saat menggunakan antarmuka portal QnA Maker. Ini tidak digunakan untuk menghubungkan aplikasi bot Anda ke basis pengetahuan ini.
  3. Gulir ke bawah untuk menemukan detail Penyebaran dan rekam nilai berikut dari contoh permintaan HTTP Postman:
    • POST /knowledgebases/<knowledge-base-id>/generateAnswer
    • Host: <your-host-url>
    • Otorisasi: EndpointKey <your-endpoint-key>

URL host Anda akan dimulai dengan https:// dan diakhir dengan /qnamaker, seperti https://<hostname>.azure.net/qnamaker. Bot Anda memerlukan ID basis pengetahuan, URL host, dan kunci titik akhir untuk terhubung ke basis pengetahuan QnA Maker Anda.

Memperbarui file pengaturan

Pertama, tambahkan informasi yang diperlukan untuk mengakses basis pengetahuan Anda—termasuk nama host, kunci titik akhir, dan ID basis pengetahuan (kbId)—ke file pengaturan. Ini adalah nilai yang Anda simpan dari tab PENGATURAN basis pengetahuan Anda di QnA Maker.

Jika Anda tidak menyebarkan ini untuk produksi, Anda dapat membiarkan ID aplikasi bot dan bidang kata sandi kosong.

Catatan

Untuk menambahkan QnA Maker basis pengetahuan ke dalam aplikasi bot yang ada, pastikan untuk menambahkan judul informatif untuk entri QnA Anda. Nilai "nama" dalam bagian ini menyediakan kunci yang diperlukan untuk mengakses informasi ini dari dalam aplikasi Anda.

appsettings.json

C# (diarsipkan)

Menyiapkan instans QnA Maker

Pertama, kami membuat objek untuk mengakses basis pengetahuan QnA Maker kami.

Pastikan bahwa paket NuGet Microsoft.Bot.Builder.AI.QnA diinstal untuk proyek Anda.

Dalam QnABot.cs, dalam OnMessageActivityAsync metode , buat instans QnAMaker. Kelas QnABot ini juga merupakan tempat nama-nama informasi koneksi, disimpan dalam appsettings.json di atas, ditarik masuk. Jika Anda memilih nama yang berbeda untuk informasi koneksi basis pengetahuan dalam file pengaturan Anda, pastikan untuk memperbarui nama di sini untuk mencerminkan nama yang Anda pilih.

Bot/QnABot.cs

C# (diarsipkan)

Memanggil QnA Maker dari bot Anda

Saat bot Anda memerlukan jawaban dari QnAMaker, panggil GetAnswersAsync metode dari kode bot Anda untuk mendapatkan jawaban yang sesuai berdasarkan konteks saat ini. Jika Anda mengakses basis pengetahuan Anda sendiri, ubah pesan tidak ada jawaban yang ditemukan di bawah ini untuk memberikan instruksi yang berguna bagi pengguna Anda.

Bot/QnABot.cs

C# (diarsipkan)

Menguji bot

Jalankan sampel secara lokal di komputer Anda. Jika Anda belum melakukannya, instal Bot Framework Emulator. Untuk petunjuk lebih lanjut, lihat sampel (C# (diarsipkan), JavaScript (diarsipkan), Java (diarsipkan), atau Python (diarsipkan)).README

Mulai Emulator, sambungkan ke bot Anda, dan kirim pesan ke bot Anda. Respons terhadap pertanyaan Anda akan bervariasi, berdasarkan informasi yang basis pengetahuan Anda.

Uji sampel bot.

Informasi Tambahan

Sampel multi-giliran QnA Maker (sampel multi-giliran C# (diarsipkan), sampel multi-giliran JavaScript (diarsipkan), sampel multi-giliran Java (diarsipkan), sampel multi-giliran Python (diarsipkan)) menunjukkan cara menggunakan dialog QnA Maker untuk mendukung perintah tindak lanjut QnA Maker dan fitur pembelajaran aktif.

  • QnA Maker mendukung petunjuk tindak lanjut, juga dikenal sebagai perintah multi-giliran. Jika QnA Maker basis pengetahuan memerlukan informasi lebih lanjut dari pengguna, QnA Maker mengirimkan informasi konteks yang dapat Anda gunakan untuk meminta pengguna. Informasi ini juga digunakan untuk melakukan panggilan tindak lanjut ke layanan QnA Maker. Di versi 4.6, Bot Framework SDK menambahkan dukungan untuk fitur ini.

    Untuk membuat basis pengetahuan seperti itu, lihat dokumentasi QnA Maker tentang cara Menggunakan perintah tindak lanjut untuk membuat beberapa giliran percakapan.

  • QnA Maker juga mendukung saran pembelajaran aktif, memungkinkan basis pengetahuan meningkat dari waktu ke waktu. Dialog QnA Maker mendukung umpan balik eksplisit untuk fitur pembelajaran aktif.

    Untuk mengaktifkan fitur ini pada basis pengetahuan, lihat dokumentasi QnA Maker tentang Saran pembelajaran aktif.

Langkah berikutnya

QnA Maker dapat dikombinasikan dengan layanan Azure AI lainnya, untuk membuat bot Anda lebih kuat. Bot Framework Orchestrator menyediakan cara untuk menggabungkan QnA dengan Pemahaman Bahasa (LUIS) di bot Anda.