Beceri tüketicileri hakkında
ŞUNLAR IÇIN GEÇERLIDIR: SDK v4
Beceri tüketicisi , bir veya daha fazla beceri çağırabilen bir botdur. Beceriler açısından kök bot, aynı zamanda beceri tüketicisi olan kullanıcıya yönelik bir botdur.
Kullanıcının perspektifinden bakıldığında, kök bot etkileşimde bulundukları bot olur. Beceri açısından bakıldığında, beceri tüketicisi kullanıcıyla iletişim kurdığı kanaldır. (Daha fazla bilgi için bkz. becerilere genel bakış.)
Beceri tüketicisi olarak kök bot, bir beceri ile arasındaki trafiği yönetmek için bazı ek mantıklar içerir:
- Kökün kullandığı her beceri için yapılandırma bilgileri.
- Kökün kullanıcıyla yaptığı konuşma ile bir beceriye sahip olan konuşma arasında geçiş yapmasına olanak tanıyan bir konuşma kimliği fabrikası.
- Etkinlikleri bir beceri botu için paketleyip iletebilen bir beceri istemcisi.
- Bir beceri botundan istek alabilen ve etkinlikleri açabilen beceri işleyicisi .
Becerileri yönetme
Tek bir becerinin başlamasına ve tamamlanmasına izin verme, beceri tüketicisine birkaç ekleme ile yönetilir. Birden çok beceri veya konuşma yazışması ile daha karmaşık senaryolar mümkündür.
Beceri tüketicisi en az iki HTTP uç noktası uygular:
- Mesajlaşma uç noktası , kullanıcıdan veya kanaldan etkinlik alır. Bu, tüm botların uyguladığı normal mesajlaşma uç noktasıdır.
- Bir beceriden etkinlik almak için beceri ana bilgisayar uç noktası . Bu, becerinin yanıt verdiği hizmet URL'si olan geri çağırma URL'si işlevi görür. (Beceri tüketicisinin beceriden HTTP yöntemi isteğini alan kodu bir beceri işleyicisi ile eşleştirmesi gerekir.)
Beceri açıklamaları
Her beceri için, beceri tüketicisinin yapılandırma dosyasına bir Bot Framework beceri nesnesi ekleyin. Her birinin bir kimliği, bir uygulama kimliği ve beceri için bir uç noktası olacaktır.
Özellik | Tanım |
---|---|
Kimlik | Beceri tüketicisine özgü becerinin kimliği veya anahtarı. |
Uygulama Kimliği | Beceri Azure'a appId kaydedildiğinde bot kaynağına atanan. |
Beceri uç noktası | Beceri için mesajlaşma uç noktası. Bu, tüketicinin beceriyle iletişim kurmak için kullanacağı URL'dir. |
Beceri istemcisi ve beceri işleyicisi
Beceri tüketicisi, beceriye etkinlik göndermek için bir beceri istemcisi kullanır. İstemci:
- Beceriye göndermek için bir kullanıcıdan veya tüketici tarafından oluşturulan bir etkinliği alır.
- Beceriye gönderilen etkinlikte hizmet URL'sini tüketicinin beceri ana bilgisayar uç noktasına ayarlar.
- Özgün konuşma başvuruyu, tüketici becerisi konuşması için bir başvuruyla değiştirir.
- Bot-bot kimlik doğrulama belirteci ekler.
- Güncelleştirilmiş etkinliği beceriye gönderir.
Beceri tüketicisi, beceriden etkinlik almak için bir beceri işleyici kullanır. İşleyici:
- Kanal hizmeti REST API yöntemlerini işler.
- Kimlik doğrulaması ve talep doğrulamayı zorlar.
- Özgün konuşma başvuruyu alır.
- Tüketicinin bağdaştırıcısı için bir etkinlik oluşturur. Bu etkinlik, becerinin tamamlandığını veya kullanıcıya iletilecek bir etkinlik olduğunu gösterir.
Bir beceriyi doğrudan yönetme
Etkin becerileri izlemek için beceri tüketicinize mantık eklemeniz gerekir. Genel olarak becerileri nasıl yönettiği, birden çok etkin beceriyi paralel olarak koruyup koruyamayacağı vb. tüketiciye bağlıdır. Dikkate alınması gereken belirli senaryolar şunlardır:
- Yeni bir tüketici becerisi konuşması başlatma. (Bu, belirli bir tüketici-kullanıcı konuşması ile ilişkilendirilecektir.)
- Parametreleri bir beceriye geçirmek için, ilk etkinlikteki value özelliğini beceri olarak ayarlayın.
- Mevcut bir tüketici becerisi konuşmasına devam etme.
- Beceriden bir
endOfConversation
etkinliğin, tüketici becerisi konuşmasının sona ereceğinin sinyalini verme olarak tanıma.- Beceriden herhangi bir dönüş değeri almak için etkinliğin değer özelliğini denetleyin.
- Becerinin neden sona erdiğini denetlemek için etkinliğin kod parametresini denetleyin. Bu parametre becerinin bir hatayla karşılaştığını gösterebilir.
- Beceriye etkinlik göndererek tüketiciden bir
endOfConversation
beceriyi iptal etme.
Bir beceriyi doğrudan yöneten bir tüketici için beceri tüketicisi uygulamayı öğrenin.
Beceri iletişim kutusunu kullanarak beceriyi yönetme
İletişim kutusu kitaplığını kullanıyorsanız, beceriyi yönetmek için beceri iletişim kutusunu kullanabilirsiniz. Beceri iletişim kutusu etkin iletişim kutusu olsa da, etkinlikleri ilişkili beceriye iletir.
- Beceri iletişim kutusunu oluşturduğunuzda, iletişim kutusu seçenekleri parametresini kullanarak tüketicinin uygulama kimliği ve geri arama URL'si, kullanılacak konuşma kimliği fabrikası, beceri özellikleri vb. gibi becerileri yönetmek için iletişim kutusunun ihtiyaç duyduğu tüm bilgileri sağlayın.
- İletişim kutusu olarak birden fazla beceriyi yönetmek istiyorsanız, her beceri için ayrı bir beceri iletişim kutusu oluşturmanız gerekir.
- Genellikle beceri iletişim kutusunu bir bileşen iletişim kutusuna eklersiniz.
- Beceri iletişim kutusunu başlatmak için iletişim kutusunun başlangıç yöntemini kullanın ve beceri iletişim kutusunun kimliğini sağlayın. Tüketicinin beceriye ilk etkinlik olarak göndereceği etkinliği sağlamak için options parametresini kullanın.
- Beceri iletişim kutusunu diğer iletişim kutuları gibi iptal edebilir veya kesintiye uğratabilirsiniz. Bir örnek için kullanıcı kesintilerini işlemeye bakın.
Bir beceriyi yönetmek için iletişim kutusu kullanan bir tüketicinin becerisini kullanmak için iletişim kutusunun nasıl kullanılacağını görün.
Beklenen yanıtların teslim modunu kullanma
Botlar ve beceriler iletişim için HTTPS üzerinden endüstri standardı REST ve JSON kullanır. Normal etkinlik işleme akışı, kök bot mesajlaşma uç noktasındaki bir kanaldan gönderi aldığında başlar. Kök bot daha sonra etkinliği işleme becerisine gönderir. Beceriden gelen yanıtlar, mesajlaşma uç noktasına değil kök botunun beceri ana bilgisayar uç noktasına geri gönderilir. Son olarak, yanıtlar kök bot tarafından daha fazla işlenir veya kanala geri gönderilir. Bu normal akış, beceriye gönderilen etkinliğin teslim modu değiştirilerek değiştirilebilir. Teslim modu "ExpectReplies" olarak ayarlanırsa beceri, beceri ana bilgisayar uç noktasına geri gönderilmez. Bunun yerine, tüm yanıt etkinlikleri yanıtın gövdesinde serileştirilir. Kök bot daha sonra bu etkinlikler üzerinde yinelenir ve bunları beceri ana bilgisayar uç noktası tarafından işlenmelerine benzer şekilde işler.
Daha fazla bilgi için Etkinlik belirtimindeki Teslim modu'na bakın.