Konuşmaları bottan insana geçiş

ŞUNLAR IÇIN GEÇERLIDIR: SDK v4

Botun ne kadar yapay zekaya sahip olduğuna bakılmaksızın, konuşmayı bir insana devretmesi gerekebilir. Bot kullanıcıyı anlamıyorsa (yapay zeka sınırlaması nedeniyle) veya istek otomatik hale getirilemiyorsa ve insan eylemi gerektiriyorsa bu tür bir izin gerekebilir. Bu gibi durumlarda bot, konuşmayı ne zaman teslim etmesi gerektiğini fark etmeli ve kullanıcıya sorunsuz bir geçiş sağlamalıdır.

Microsoft Bot Framework, geliştiricilerin çeşitli aracı etkileşimi platformlarıyla tümleştirilmesine olanak tanıyan açık bir platformdur.

İletim tümleştirme modelleri

Microsoft Bot Framework, aracı etkileşimi platformlarıyla tümleştirme için iki modeli destekler. İletim protokolü her iki model için de aynıdır, ancak ekleme ayrıntıları modeller ve aracı etkileşimi platformları arasında farklılık gösterir.

Amaç, herhangi bir müşterinin sistemiyle tümleştirme için evrensel bir çözüm sunmak değil, bot geliştiricilerine ve sistem tümleştiricilerine döngüde bir insanla konuşma yapay zeka sistemleri oluşturmak için ortak bir dil ve en iyi yöntemler sunmaktır.

Aracı olarak bot

Aracı olarak bot olarak bilinen ilk modelde bot, aracı hub'ına bağlı canlı aracıların derecelerine katılır ve istekler başka bir Bot Framework kanalından gelmiş gibi kullanıcı isteklerine yanıt verir. Kullanıcı ve bot arasındaki konuşma bir insan temsilciye yükseltilebilir ve bu noktada bot etkin konuşmadan vazgeçer.

Bu modelin temel avantajı basitliğidir; aracı hub'ına en az çabayla mevcut bir bot ekleyebilirsiniz ve aracı hub'ı ileti yönlendirmenin karmaşıklığını ele alır.

Diagram of an agent hub that can direct messages to a bot or human agents.

Ara sunucu olarak bot

İkinci model, ara sunucu olarak bot olarak bilinir. Kullanıcı, bot bir insan temsilcinin yardımına ihtiyacı olduğuna karar verene kadar doğrudan botla konuşur. Bottaki ileti yönlendirici bileşeni, konuşmayı aracı hub'ına yönlendirerek uygun aracıya yönlendirir. Bot döngüde kalır ve konuşmanın dökümünü toplayabilir, iletileri filtreleyebilir veya hem aracıya hem de kullanıcıya ek içerik sağlayabilir.

Esneklik ve denetim, bu modelin başlıca avantajlarıdır. Bot birden çok kanalı destekleyebilir ve konuşmaların kullanıcı, bot ve aracı hub'ı arasında nasıl ilerletilip yönlendirildiğinden denetim sahibi olabilir.

Diagram of a bot that can route messages to an agent hub.

İletim protokolü

Protokol, başlatma olayları, bot tarafından kanala gönderilen olaylar ve kanal tarafından bota gönderilen durum güncelleştirmesi etrafında ortalanır.

İletim başlatma

İletimi başlatmak için bot tarafından bir iletim başlatma olayı oluşturulur.

Olay şunları içerebilir:

  • Konuşmayı uygun bir aracıya yönlendirmek için iletim isteğinin bağlamı.
  • Temsilcinin, iletim başlatılmadan önce müşteriyle bot arasında gerçekleşen konuşmayı okuyabilmesi için konuşmanın dökümü.

Yaygın iletim başlatma olayı özellikleri şunlardır:

  • Ad: Gerekli, name özelliği "handoff.initiate" olarak ayarlanmalıdır.

  • Konuşma: Gerekli, konuşma özelliği etkinliğin bulunduğu konuşmayı açıklar. Konuşmada konuşma Idbulunmalıdır.

  • Değer: İsteğe bağlı olarak value özelliği, hub'ın konuşmayı ilgili bir aracıya yönlendirmek için kullanabileceği aracı hub'ına özgü JSON içeriği içerebilir.

  • Ekler: İsteğe bağlı olarak, ekler özelliği ek olarak bir transkript içerebilir. Bot Framework bir transkript ek türünü tanımlar. Ek, sağlanarak ContentUrlsatır içi (boyut sınırına tabi) veya çevrimdışı gönderilebilir.

    handoffEvent.Attachments = new List<Attachment> {
        new Attachment {
            Content = transcript,
            ContentType = "application/json",
            Name = "Transcript",
        }
    };
    

    Dekont

    Aracı hub'ları anlamadıkları ek türlerini yoksaymalıdır .

Bot, konuşmayı bir aracıya teslim etme gereksinimini algıladığında, bir iletim başlatma olayı göndererek amacına işaret eder. C# için SDK, geçerli bir CreateHandoffInitiation iletim başlatma olayı oluşturmaya yönelik bir yöntem içerir.

var activities = GetRecentActivities();
var handoffContext = new { Skill = "credit cards" };
var handoffEvent =
    EventFactory.CreateHandoffInitiation(
        turnContext, handoffContext, new Transcript(activities));
await turnContext.SendActivityAsync(handoffEvent);

İletim durumu

Aracı hub'ı tarafından bota bir iletim durumu olayı gönderilir. Olay, bota başlatılan iletim işleminin durumu hakkında bilgi sağlar.

Dekont

Botların bir iletim durumu olayını işlemesi gerekmez ; ancak bunu reddetmemeleri gerekir .

Yaygın iletim durumu olay alanları şunlardır:

  • Ad: Gerekli, name özelliği "handoff.status" olarak ayarlanmalıdır.

  • Konuşma: Gerekli, konuşma özelliği etkinliğin bulunduğu konuşmayı açıklar. Konuşmada konuşma Idbulunmalıdır.

  • Değer: Gerekli, iletim işleminin geçerli durumunu açıklayan değer özelliğidir. değeri aşağıdaki özelliklere sahiptir.

    • Durum: Gerekli, state özelliği şu değerlerden birine sahip olabilir:

      Değer Anlamı
      "kabul edildi" Bir aracı isteği kabul etti ve konuşmanın denetimini aldı.
      "başarısız" İletim isteği başarısız oldu. İleti özelliği hatayla ilgili ek bilgiler içerebilir.
      "tamamlandı" İletim isteği tamamlandı.
    • İleti: İsteğe bağlı olarak, ileti özelliği aracı hub'ı tarafından tanımlanan bir nesnedir.

    Bazı örnek değer nesneleri şunlardır:

    { "state" : "completed" }
    
    { "state" : "failed", "message" : "Can't find agent with requested skill" }
    

İletim kitaplığı

İletim Kitaplığı, bot Framework v4 SDK'sını desteklemek için oluşturulmuştur; özellikle:

  • Aracıya iletimi desteklemek için Bot Framework SDK'sına eklemeler uygular (yükseltme olarak da bilinir).
  • İletim işlemleri için üç olay türünün tanımlarını içerir.

Dekont

Belirli aracı hub'larıyla tümleştirmeler kitaplığın bir parçası değildir.

Ek kaynaklar