Bagikan melalui


Gunakan jawaban atas pertanyaan untuk menjawab pertanyaan

BERLAKU UNTUK: SDK v4

Fitur jawaban atas pertanyaan Azure Cognitive Service for Language menyediakan pemrosesan bahasa alami berbasis cloud (NLP) yang memungkinkan Anda membuat lapisan percakapan alami atas data Anda. Ini digunakan untuk mencari jawaban yang paling tepat atas input dari pangkalan pengetahuan informasi kustom.

Artikel ini menjelaskan cara menggunakan fitur jawaban atas pertanyaan di bot Anda.

Prasyarat

  • Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
  • Sumber daya bahasa di Language Studio, dengan fitur jawaban atas pertanyaan kustom diaktifkan.
  • Salinan sampel Jawaban Atas Pertanyaan Kustom di C# atau JavaScript.

Tentang sampel ini

Untuk menggunakan jawaban atas pertanyaan di bot Anda, Anda memerlukan basis pengetahuan yang sudah ada. Bot Anda kemudian dapat menggunakan basis pengetahuan untuk menjawab pertanyaan pengguna.

Jika Anda perlu membuat basis pengetahuan baru untuk bot Bot Framework SDK, lihat README untuk sampel jawaban atas pertanyaan kustom.

C# question answering bot logic flow.

OnMessageActivityAsync dipanggil untuk setiap input pengguna yang diterima. Saat dipanggil, ia mengakses pengaturan konfigurasi dari file appsetting.json kode sampel dan terhubung ke basis pengetahuan Anda.

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

Mendapatkan pengaturan koneksi basis pengetahuan Anda

  1. Di Language Studio, buka sumber daya bahasa Anda.

  2. Salin informasi berikut ke file konfigurasi bot Anda:

    • Nama host untuk titik akhir bahasa Anda.
    • Ocp-Apim-Subscription-Key, yang merupakan kunci titik akhir Anda.
    • Nama proyek, yang bertindak sebagai ID basis pengetahuan Anda.

Nama host Anda adalah bagian dari URL titik akhir antara https:// dan /language, misalnya, https://<hostname>/language. Bot Anda memerlukan nama proyek, URL host, dan kunci titik akhir untuk menyambungkan ke basis pengetahuan Anda.

Tip

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

Menyiapkan dan memanggil klien basis pengetahuan

Buat klien basis pengetahuan Anda, lalu gunakan klien untuk mengambil jawaban dari basis pengetahuan.

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

Di QnABot.cs, dalam metode , OnMessageActivityAsync buat klien basis pengetahuan. Gunakan konteks giliran untuk mengkueri basis pengetahuan.

Bot/CustomQABot.cs

using var httpClient = _httpClientFactory.CreateClient();

var customQuestionAnswering = CreateCustomQuestionAnsweringClient(httpClient);

// Call Custom Question Answering service to get a response.
_logger.LogInformation("Calling Custom Question Answering");
var options = new QnAMakerOptions { Top = 1, EnablePreciseAnswer = _enablePreciseAnswer };
var response = await customQuestionAnswering.GetAnswersAsync(turnContext, options);

Menguji bot

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

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

Informasi Tambahan

Jawaban Atas Pertanyaan Kustom, semua sampel fitur (C# atau JavaScript) menunjukkan cara menggunakan dialog QnA Maker untuk mendukung perintah tindak lanjut basis pengetahuan dan fitur pembelajaran aktif.

  • Jawaban atas pertanyaan mendukung petunjuk tindak lanjut, juga dikenal sebagai perintah multi-giliran. Jika basis pengetahuan memerlukan informasi lebih lanjut dari pengguna, layanan mengirimkan informasi konteks yang dapat Anda gunakan untuk meminta pengguna. Informasi ini juga digunakan untuk melakukan panggilan tindak lanjut ke layanan.
  • Jawaban atas pertanyaan juga mendukung saran pembelajaran aktif, memungkinkan basis pengetahuan meningkat dari waktu ke waktu. Dialog QnA Maker mendukung umpan balik eksplisit untuk fitur pembelajaran aktif.