Sap CAI Chatbot + Amazon Alexa ile R3 Corda Blockchain Entegrasyonu- Part:2
İlk bölümde Sap RPA ürünü ile R3 Corda Blockchain çözümünü buluşturmuştuk. Şimdi Sap CAI Chatbot ile R3 Corda entegrasyonu sağlayacağız. İlk bölümde yarattığımız Corda açık arttırma ağımızı yeniden çalıştırıp ngrok ile dışarıya açtığımız apimizi kullanacağız ve Sap Chatbot uygulamamıza bağlayacağız.
Corda uygulaması kurulumları için ilk makaledeki adımları takip edebilirsiniz.
SAP CAI Chatbot
Öncelikle aşağıdaki linkten Chatbot uygulamasına giriyoruz. Varolan bir Sap hesabımız var ise onunla yok ise sıfırdan hesap yaratarak chatbot ürününü ücretsiz deneyebiliriz.
Açılan ekranda new bot seçeneği ile yeni bot yaratmaya başlıyoruz.

Aşağıdaki şekilde botumuzun özelliklerini belirliyoruz.



Bot başarılı bir şekilde oluşturulduktan sonra ilk adım bir intent yaratmak. Bu chatbot ağacımızın en üstündeki biz bota bir şey sorduğumuzda tetiklenen fonksiyonumuz olacak. Create intent diyerek ask isminde bir intent yaratıyoruz.

Daha sonra ask adında yaratılan intentimize tıklayıp bunun altında bir expression yaratmamız gerekiyor.
Ona da I’m interested in ismini verelim ve enter’a basalım.

Daha sonra tekrar train ana tab imize dönüp buradan corda isminde bir entityi aşağıdaki gibi yaratalım. Entity’i yarattıktan sonra üzerine tıklayıp değerlerini yaratacağız.

Önemli not: Bu kısım önemli çünkü yarattığımız entity altında oluşturacağımız entity value alanlarını Corda apimizi çağırırken parametre olarak göndereceğiz.
Corda ağımızdan açık arttırma uygulamamızdaki assetlerin listesini ve varolan açık arttırma bilgilerini çekmek için iki ayrı entity value yaratalım. Bu isimlendirmeleri apimizdeki bilgilere göre yaptık.
list
getCashBalance


Şimdi traine basıp şu ana kadar yaptığımız geliştirmeleri botumuzun öğrenmesini sağlıyoruz.
Bir sonraki adımımızda botumuza skill ekleyeceğiz.
Build tab ını geliyoruz ve answer adında bir skill yaratıyoruz.

Daha sonra içine girip daha önce yarattığımız ask fonksiyonunu trigger olarak gösteriyoruz.

Daha sonra requirements kısmına #corda as corda olarak ayarlıyoruz ve fonksiyondan dönecek reply olarak da aşağıdaki mesajı missing kısmına yazıyoruz. Bu chatbotumuzun entity value lar hariç herhangi bir değeri ona yolladığımızda bize bir giriş mesajı yayınlamasını ve bizi yönlendirmesini sağlayacak.


Son olarak Actions kısmına gelip yeni bir message group oluşturuyoruz ve bunun altına Connect External Service bölümünden Corda API mizin linkini yazıyoruz.

Daha sonra daha önce belirlediğimiz list ve getCashBalance bilgilerini memoryden alması için linkimizin sonuna ekliyoruz ve response kısmına corda ismini veriyoruz. {{api_service_response.corda.body.data}} şeklinde api servisi konfigürasyonumuzun son adımını tamamlıyoruz. Tüm adımları aşağıda görebilirsiniz.
Bu fonksiyon bize servis tetiklendiğinde istediğimiz sonucun dönmesini sağlayacak.


Kaydettikten sonra son olarak botumuzun bu özellikleri öğrenmesi için train tuşuna tıklıyoruz ve sağ altta chat preview kısmından artık chatbotumuzu deneyebiliriz.
Corda apimizde bakiye bilgilerimizi dönen aşağıdaki apimizi tetiklemiş olduk. Şimdi bunu Amazon Alexa ile entegre edelim. :)



Amazon Alexa + SAP CAI Chatbot
1- Connect kısmından amazon alexa hesabımızı açacağız ve orada chatbotumuzu tetikleyen bir skill oluşturacağız. Bunun için aşağıdaki adımları uygulamamız gerekiyor.


İlk 2 adımı anlatmaya gerek yok. Hesabı olmayanlar bir hesap oluşturacak. Olanlar eski hesapları ile bağlanabilirler. Yetkilendirmeyi yapacağız. Bundan sonraki adımlar önemli.
2- Amazon alexa ile chatbotumuzu entegre etmek için start isminde yeni bir intent oluşturuyoruz ve bunun altına CONVERSATION_START isminde bir expression ekliyoruz.


3- Daha sonra olarak “cordabot-awesome-amazonalexa-channel“ olarak bir kanal yaratıyorum, Invocation Name olarak “corda” diyorum. Bunu Amazon Alexa hesabımız içerisinde görebileceğiz. Sonra bu skill i amazon hesabımıza deploy ediyoruz. Connect kısmında development a çekiyoruz.



Bundan sonra işimiz Amazon Alexa tarafında olacak.
Amazon Alexa hesabımıza girdiğimizde burada Skills kısmından your skills seçiyoruz ve oradan da DEV Skills kısmına geliyoruz. Burada deploy ettiğimiz SAP Chatbotumuz ile konuşacak olan skill i görebiliriz.

Burada deneme yapamıyoruz. Deneme yapmak için alexa developer console u açalım.
Invocation name olarak daha önce tanımladığımız alexacorda yazalım ve sonucu bekleyelim. Sap Chatbotumuza bağlandı ve R3 Corda ile iletişim kurduğumuz fonksiyonumuzu tetikleyip sonucu getirdi.


Şimdi elimdeki Amazon Echo dot cihazı ile deneyeceğim.:)
Herkese iyi yıllar :)
2021 hepimiz için daha güzel olsun😊❤️.