.NET Core ve Angular ile ChatBot Nasıl Hazırlanır?


ChatBot hazırlarken eğer Python tercih ederseniz Python’un yapay zeka ve makine öğrenmesi kütüphaneleri ile tamamen on-premise bir ChatBot hazırlayabilir ve yerli bulutta yayınlayabilirsiniz.

ChatBot’ta hibrit bulutun avantajları: Microsoft Bot Framework Adaptive Cards desteği sağlıyor, Google DialogFlow içerik yönetimini kolaylaştırıyor.

Ancak Python’da işler kolay görünse de iş konuşma tanıma ve TTS konusuna geldiğinizde Google ve Microsoft’un kaliteli Türkçe seslerini kullanmak isteyeceksiniz.

TTS ve STT konularında SesTek’in çözümleri olsa da Google ve Microsoft’un kalitesinde değiller.

TTS ve STT için on-premise çözümleri lütfen yorum olarak paylaşın. Sonuçta verileri yine yurt dışı bulutlarına göndermek zorunda kalıyoruz.

İşte bu yüzden ChatBot geliştiriminde .NET Core, Azure Luis, Google Dialogflow çözümlerini birleştirerek hibrit çözüm geliştirmenizi öneriyorum.

Kullanacağınız Teknolojiler:

1. .NET Core BotFramework

2. Angular ya da React FrontEnd

3. Adaptive Cards

4. Google Dialogflow

5. Microsoft Luis

Luis BotFramework’ün çalışması için gerekiyor. Bot Framework Azure Bot Service ile sıkı sıkıya bağlanmış durumda. Kendi State Store’unuzu kullanmazsanız varsayılan olarak Azure SQL kullanıyor. Luis’de temel işlemler ücretsiz olduğu için Bot Framework Luis şablonuna sonradan DialogFlow’u entegre etmenizi öneririm.

Luis’de responseları ve dialogları C# koduyla kodluyorsunuz, çok zahmetli ve yavaş bir çözüm. Oysa Dialogflow da responseları intentlerde belirtiyorsunuz. Üstelik custom payloadlarda girebiliyorsunuz ki bu kısımda Adaptive Cards JSON içeriklerini girebilirsiniz.

Bot Framework’te Luis ve Dialogları aktif olarak kullanmayacağız, Bot’umuzla DialogFlow’u entegre edeceğiz. Böylece DialogFlow’un seslendirme, response ve custom payload özelliklerinden yararlanabileceğiz.

İstemci tarafında Microsoft’un Angular ve React webclient’ını kullanabilirsiniz.

Backendi ücretsiz bir Azure App Service’te Frontendi ücretsiz bir Firebase Hostingde yayınlayıp sadece Azure SQL, Storage ve Dialogflow için ücret ödeyebilirsiniz.

Aklınıza Dialogflow ile frontendi entegre etmek gelirse bunun için uğraşmayın. Çünkü Dialogflowa sunucu üzerinden ulaşılması tavsiye ediliyor. Bu güvenlik için gerekli görülüyor.

Bot Framework olmadan sadece .NET Core, Angular ve Dialogflow ile de çözüm hazırlanabilir fakat bu kez custom payloadlar için client implementasyonu ile uğraşmak zorunda kalıyoruz. Bot Framework ve Webclient kullanarak istemcimiz AdaptiveCards’ları renderlayalibilir hale geliyor böylece bize sadece dialogflow’da yapay zeka eğitim içeriğini yönetmek kalıyor.

Mutlu kodlamalar 🙂

Reklam