Aracılığıyla paylaş


Soruları yanıtlamak için soru yanıtlamayı kullanma

ŞUNLAR IÇIN GEÇERLIDIR: SDK v4

Dil için Azure Bilişsel Hizmet'in soru yanıtlama özelliği, verileriniz üzerinde doğal bir konuşma katmanı oluşturmanıza olanak tanıyan bulut tabanlı doğal dil işleme (NLP) sağlar. Özel bilgi bilgi bankası herhangi bir giriş için en uygun yanıtı bulmak için kullanılır.

Bu makalede botunuzda soru yanıtlama özelliğinin nasıl kullanılacağı açıklanmaktadır.

Ön koşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
  • Language Studio'da özel soru yanıtlama özelliğinin etkinleştirildiği bir dil kaynağı.
  • C# veya JavaScript'te Özel Soru Yanıtlama örneğinin bir kopyası.

Bu örnek hakkında

Botunuzda soru yanıtlamayı kullanmak için mevcut bir bilgi bankası gerekir. Botunuz daha sonra kullanıcının sorularını yanıtlamak için bilgi bankası kullanabilir.

Bot Framework SDK botu için yeni bir bilgi bankası oluşturmanız gerekiyorsa özel soru yanıtlama örneği için BENIOKU'ya bakın.

C# question answering bot logic flow.

OnMessageActivityAsync , alınan her kullanıcı girişi için çağrılır. Çağrıldığında, örnek kodun appsetting.json dosyasından yapılandırma ayarlarına erişir ve bilgi bankası bağlanır.

Kullanıcının girişi bilgi bankası gönderilir ve döndürülen en iyi yanıt kullanıcınıza geri görüntülenir.

bilgi bankası bağlantı ayarlarınızı alma

  1. Language Studio'da dil kaynağınızı açın.

  2. Aşağıdaki bilgileri botunuzun yapılandırma dosyasına kopyalayın:

    • Dil uç noktanızın ana bilgisayar adı.
    • Ocp-Apim-Subscription-Keyuç nokta anahtarınız olan .
    • bilgi bankası kimliğiniz gibi davranan proje adı.

Ana bilgisayar adınız ile /languagearasındaki https:// uç nokta URL'sinin bölümüdür; örneğin, https://<hostname>/language. Botunuzun bilgi bankası bağlanmak için proje adı, konak URL'si ve uç nokta anahtarı gerekir.

Bahşiş

Bunu üretim için dağıtmıyorsanız botunuzun uygulama kimliği ve parola alanlarını boş bırakabilirsiniz.

bilgi bankası istemcisini ayarlama ve çağırma

bilgi bankası istemcinizi oluşturun, ardından bilgi bankası yanıtlarını almak için istemciyi kullanın.

Projeniz için Microsoft.Bot.Builder.AI.QnA NuGet paketinin yüklü olduğundan emin olun.

QnABot.cs dosyasında yönteminde OnMessageActivityAsync bir bilgi bankası istemcisi oluşturun. bilgi bankası sorgulamak için dönüş bağlamını kullanın.

Botlar/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);

Botu test edin

Örneği makinenizde yerel olarak çalıştırın. Henüz yapmadıysanız Bot Framework Öykünücüsü'ni yükleyin. Diğer yönergeler için örneğin README (C# veya JavaScript) bölümüne bakın.

Öykünücüyü başlatın, botunuza bağlanın ve botunuza ileti gönderin. Sorularınıza verilen yanıtlar, bilgi bankası bilgilerinize bağlı olarak değişir.

Ek bilgiler

Özel Soru Yanıtlama, tüm özellikler örneği (C# veya JavaScript), bir bilgi bankası izleme istemini ve etkin öğrenme özelliklerini desteklemek için Soru-Cevap Oluşturma iletişim kutusunun nasıl kullanılacağını gösterir.

  • Soru yanıtlama, çoklu dönüş istemleri olarak da bilinen izleme istemlerini destekler. bilgi bankası kullanıcıdan daha fazla bilgi gerektiriyorsa, hizmet kullanıcıdan istemek için kullanabileceğiniz bağlam bilgilerini gönderir. Bu bilgiler, hizmete herhangi bir izleme çağrısı yapmak için de kullanılır.
  • Soru yanıtlama, etkin öğrenme önerilerini de destekleyerek bilgi bankası zaman içinde iyileştirilmesini sağlar. Soru-Cevap Oluşturma iletişim kutusu, etkin öğrenme özelliği için açık geri bildirimleri destekler.