Bagikan melalui


Gunakan jawaban atas pertanyaan untuk menjawab pertanyaan

Diterapkan 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. Digunakan untuk menemukan jawaban paling tepat untuk masukan apa pun dari basis pengetahuan informasi khusus Anda.

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 pangkalan pengetahuan yang ada. Bot Anda kemudian dapat menggunakan pangkalan pengetahuan untuk menjawab pertanyaan pengguna.

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

Alur logika bot jawaban atas pertanyaan C#.

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

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

Dapatkan 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.
    • Kunci titik akhir Anda adalah Ocp-Apim-Subscription-Key.
    • Nama proyek, yang bertindak sebagai ID pangkalan 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 terhubung ke pangkalan pengetahuan Anda.

Petunjuk / Saran

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

Mengatur dan memanggil klien basis pengetahuan

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

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

Dalam QnABot.cs, dalam metode , OnMessageActivityAsync buat klien pangkalan pengetahuan. Gunakan konteks giliran untuk mengkueri pangkalan 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 pangkalan 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 pangkalan pengetahuan dan fitur pembelajaran aktif.

  • Jawaban atas pertanyaan mendukung petunjuk tindak lanjut, juga dikenal sebagai perintah multi-giliran. Jika pangkalan 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 pangkalan pengetahuan meningkat dari waktu ke waktu. Dialog QnA Maker mendukung umpan balik eksplisit untuk fitur pembelajaran aktif.