by Baris Ceviz


Posted on Friday 21 April 2017


Microsoft Bot Framework ile Hello Chatbot

Microsoft Bot Framework ile ilk chatbot uygulamamızı geliştirelim

Selamlar,

Bu yazımda Microsoft Bot Framework ile chatbot umuzu oluşturup test edeceğiz. Buna başlamadann önce geliştirme ortamımızı hazırlayalım.  Hızlı bir başlangıç için Microsoft Bot Framework Application Project Template i kullanabilirsiniz.

Template kurulumu için yukarıdaki adresten indirdiğiniz zip dosyasını Belgelerim > Visual Studio 201x > Templates > Project Templates > Visual C# içerisne çıkarın. Bu klasörü hangi Visual Studio sürümüne eklerseniz o sürümde gözükecektir. Eğer birden fazla sürümde çalışıyorsanız, aynı işlemi diğer Visual Studio sürümlerine de uygulayın.

Bot Framework ile Hello Chatbot

Gördüğünüz gibi Visual C# altında Bot Application template i oluştu. Bundan sonra geliştireceğiniz Chatbotlar için bu proje temelini kullanabilirsiniz. Bu yazımda bu template i kullanarak bir chatbot oluşturacağım.

"HelloChatbot" adında bir Bot Application projesi oluşturalım. Projemizi oluşturduktan sonra projemizi build edelim. Eksik Nuget Package ları eklesin. Bu işlemlerden sonra Chatbot umuzu kaydedip gerekli AppID ve AppPassword bilgilerini alalım.

Microsoft Bot Framework Register sayfasından Bot Profile bölümünden Chatbot adı, Chatbot endpointinizin oluşacağı için bir benzersiz bir endpoint ismi ve açıklama giriyoruz.

Bot Framework ile Hello Chatbot

Configuration bölümünden "Create Microsoft App ID and Password" butonuna tıklıyoruz ve Microsoft hesabımız ile giriş yapıyoruz. Giriş işlemi tamamlandıktan sonra App Name ve App ID imiz otomatik olarak oluşuyor ve "Generate an app password to continue" butonuna tıklayarak App Password oluşturuyoruz. Bu App Password ümüz kaybetmeyelim ve bir yere not alalım. Şifrenizi kopyaladıktan sonra "Finish and go back to bot framework" butonuna tıklayıp Bot Framework Register sayfasına yönlendirileceksiniz.

Bot Framework ile Hello Chatbot

Kayıt sayfasında sözleşmeyi de kabul ettikten sonra "Register" butonuna tıklayıp chatbotunuzu oluşturma işlemini tamamlayalım. Bu işlemleri bitirdikten sonra Bot handle, Microsoft App ID ve App Password bilgilerinizi projenizin Web.config dosyasına yerleştirelim.

Bot Framework ile Hello Chatbot

Bot Framework ile Hello Chatbot

Gerekli bilgileri de girdiğimize göre artık chatbotumuzu çalıştırıp test edebiliriz. Kendi makinanızda test etmeniz için Microsoft, bir Bot Emulator ü oluşturmuş. Bu bot emulatör ü ile yayına almadan kendi makineniz üzerinde test yapma ortamı oluşturmuştur. Böylelikle daha hızlı geliştirme yapabilirsiniz.

Microsoft Bot Emulatorü indirelim ve kuralım. Kurulum tamamlandıktan sonra Visual Studio da chatbotumuzu çalıştıralım. Project Template de çalışacak URL sabit olduğu için direk size 3979 port numaralı bir URL oluşacaktır. Siz bu URL in üzerine endpoint ekleyerek "http://localhost:3979/api/messages" bu şekilde kopyalayın ve Bot Emulator e yapıştırın. Ardından Microsoft App ID ve Password ünüzü de girin. Locale bölümüne chatbotunuzu birden fazla dil ile çalışmasını düşünüyorsanız testlerinizi ilgili dile göre yapabilirsiniz. Ardından Connect butonuna basıyoruz ve chatbotumuza bağlanıyoruz.

Bot Framework ile Hello Chatbot

Sağ bölümde attığınız isteklerin sonuçlarını görebilirsiniz. Şimdi chatbotumuza bir şeyler yazalım ve sonuç ne dönüyor görelim.

Bot Framework ile Hello Chatbot

Gördüğünüz gibi yazdığım mesaja karşılık bana bu şekilde dönüş sağlıyor. Bu Project Template imiz ile birlikte gelen basit bir yapıdır. Gelin bunu birazcık değiştirelim.

Projemizde Dialogs > RootDialog.cs dosyasını açalım ve 26. satırı aşağıdaki kod satırı ile değiştirelim.

            await context.PostAsync($@"Dedin ki ""{activity.Text}""");

Ardından yeniden çalıştıralım, Connect butonuna tıklayıp test edelim.

Bot Framework ile Hello Chatbot

Evet gördüğünüz gibi basit bir değişiklik sonucu chatbotumuzun cevabı değişti. Bir sonraki yazımda Azure Cognitive Services kullanarak chatbotumuzu akıllı hale getirelim. Bu yazımda benden bu kadar. Umarım faydalı bir yazı olmuştur :)

İyi okumalar :)