Botpress'te Özel Bot Eylemleri Geliştirme

Botpress Te Ozel Bot Eylemleri Gelistirme



Chatbot'lar, modern işletmelerin daha iyi müşteri desteği sağlamalarına, süreçleri otomatikleştirmelerine ve kullanıcılarla daha etkili bir şekilde etkileşim kurmalarına olanak tanıyan temel bir parçası haline geldi. Botpress, çeşitli yerleşik eylemler sunan popüler bir açık kaynaklı chatbot çerçevesidir. Ancak bazı durumlarda, belirli gereksinimleri karşılamak ve botun yeteneklerini genişletmek için özel bot eylemleri oluşturmanız gerekebilir. Bu eğitimde, bir API çağırmaya ve yanıtı bir içerik öğesinde kullanmaya odaklanarak Botpress'te özel bot eylemleri oluşturma konusunda size rehberlik edeceğiz.

Botpress'te Eylemleri Anlamak

Botpress'teki eylemler, konuşma akışları sırasında bot tarafından yürütülen sunucu tarafı işlevleridir. Görüşmenin durumunu değiştirme, özelleştirilmiş mesajlar gönderme, isteğe bağlı kod yürütme (API'leri çağırma veya verileri saklama gibi) ve daha fazlasını yapma gücüne sahiptirler. Esasen eylemler normal JavaScript işlevleridir; bu, platformun sınırlamaları dahilinde hemen hemen her şeyi gerçekleştirebilecekleri anlamına gelir.

Diyalog Yöneticisi (DM) tarafından bir eylem çağrıldığında, işleve bağlam sağlayan çeşitli argümanlar alır. Bu bağımsız değişkenler arasında kullanıcı nitelikleri, oturum değişkenleri, geçici değişkenler, bot düzeyi değişkenler, konuşmadaki en son kullanıcı olayı, Visual Flow Builder'dan iletilen bağımsız değişkenler ve bazı ortam değişkenlerini içeren korumalı alana alınmış bir sanal makine yer alır.







Yeni Eylemlerin Kaydedilmesi

Özel bot eylemlerini eklemek için bir JavaScript dosyası (.js) oluşturmanız ve bunu veriler/genel/eylemler Botpress projenizdeki klasör. Ne yazık ki, çalışma zamanı sırasında programlı olarak yeni eylemler eklemenin bir yolu yoktur. Kodunuzdaki JavaDoc yorumlarını kullanarak eylemler hakkında adları, açıklamaları, bağımsız değişkenleri ve varsayılan değerleri gibi anlamlı bilgiler sağlayabilirsiniz. JavaDoc yorumuna @hidden true bayrağını ekleyerek akış düzenleyicisindeki bir eylemi de gizleyebilirsiniz.



Botpress'te Özel Eylemler Nasıl Oluşturulur

Botpress'te özel bir eylem oluşturmak için izleyebileceğiniz birkaç adım:



Adım 1: Botunuzu Oluşturun ve Bir Düğüm Ekleyin

Başlamak için Botpress'te yeni bir bot oluşturun. Botunuz oluşturulduktan sonra konuşma akışına yeni bir düğüm ekleyin.





Adım 2: Düğümünüze Uygun Mesajları Ekleyin

Yeni oluşturulan düğümde, kullanıcılarla içerik alışverişini kolaylaştırmak için gerekli mesajları ekleyin. Örneğin kullanıcıyı selamlamak ve adını sormak için bir kısa mesaj ekleyebilirsiniz.



Adım 3: Kenar Çubuğundan Yürütme Kodunu açın

Botpress Flow Builder'da kenar çubuğuna gidin ve 'Kod düzenleyiciyi' açın. Burası özel eylemlerinizi oluşturabileceğiniz ve yönetebileceğiniz yerdir.

  C:\Kullanıcılar\kullanıcı01\Masaüstü\4124.PNG

Adım 4: “Eylem Ekle” Düğmesine tıklayın

“Kodu Yürüt” bölümünde “Eylem Ekle” düğmesine tıklayın. Bu eylem “Yeni bir action_legacy oluştur” penceresini açar.

  C:\Users\user01\Desktop\tempsnip.png

Adım 5: Dosya İçin Bir Ad Belirleyin ve Gönder Düğmesine Tıklayın

“Yeni bir action_legacy oluştur” penceresinde, özel eylem dosyanız için anlamlı bir ad verin; örneğin,customAction.js. İsmi belirledikten sonra “Gönder” butonuna tıklayın. Bu, “customAction.js” dosyasını oluşturur.

Adım 6: Özel Kodunuzu Yazın

Yeni oluşturulan “customAction.js” dosyasını açın. Dosyanın içinde yeni bir eylem için oluşturulan standart kodu göreceksiniz. Uygun yorumları kullanarak özel işleminiz için anlamlı bir açıklama sağlayın.

Şimdi fonksiyonun içine özel kodunuzu yazın. Bu kod, özel eyleminizin davranışını tanımlar. API çağrıları yapmak, veritabanlarına erişmek veya karmaşık mantığı yönetmek gibi çeşitli görevleri gerçekleştirmek için JavaScript'i kullanabilirsiniz.

Adım 7: Özel Eylemi Kullanmak İçin Düğümünüzü Değiştirin

Botpress Flow Builder'a geri dönün ve özel eyleminizi tetiklemek istediğiniz düğümü değiştirin. Düğüme bir “Kodu Yürüt” kartı ekleyin.

Adım 8: Özel Eylem Adınızı Seçin ve Eylem Parametrelerini Belirleyin

'Kodu Yürüt' kartında, tüm özel eylemlerinizin adlarını içeren bir açılır liste göreceksiniz. Listeden özel işleminizin adını seçin. Özel işleminiz herhangi bir parametre gerektiriyorsa bunları 'Kodu Yürüt' kartının 'Parametreler' bölümünde belirtebilirsiniz.

  C:\Users\user01\Desktop\tempsnip121.png

Adım 9: Botunuzun Eylemi Gerçekleştirmesini Sağlayın

Son olarak, botunuzun özel eylemi gerçekleştirmesini sağlamak için düğüme başka bir kart ekleyin. Özel işleminizin sonuçlarına erişmek ve bunları botun yanıtına dahil etmek için etkinliğe kaydedilen değişkenleri ('Kodu Yürüt' kartında belirtilen) kullanabilirsiniz.

Örnek Özel Eylem

Diyelim ki chatbotunuzun belirli bir konum için güncel hava durumu bilgilerini sağlamasını istiyorsunuz. Hava durumu API'sini çağıran ve hava durumu verilerini döndüren özel bir eylem oluşturabilirsiniz.

sabit aksiyomlar = gerekmek ( 'aksiyel' );

const getWeather = eşzamansız ( kullanıcı , oturum, bağımsız değişkenler) => {

sabit konum = args.konum || 'New York' ;

const apiKey = 'your_weather_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}';

denemek {

const yanıtı = wait axios.get(apiUrl);

const weatherData = yanıt.veri;

dönüş `${location}'daki mevcut hava durumu ${weatherData.current.condition.text} ve sıcaklık ${weatherData.current.temp_c}°C.`;

} yakalamak (hata) {

geri dönmek 'Üzgünüm, yapamadım \' Şu anda hava durumu bilgilerini getirmiyorum. Lütfen daha sonra tekrar deneyiniz.' ;

}

};

getWeather'a dön( kullanıcı , oturum, bağımsız değişkenler);

Bu eylem, eylemin çalışacağı bağlamı ve verileri sağlayan kullanıcı, oturum ve bağımsız değişkenler dahil olmak üzere belirli bağımsız değişkenleri alır. Bu örnekte 'getWeather' özel eylemi, konumu bağımsız değişken olarak alır veya sağlanmadığı takdirde varsayılan olarak 'New York' olur. Eylem, Axios'u kullanarak Hava Durumu API'sini çağırır, hava durumu verilerini getirir ve hava durumu ile sıcaklığı içeren bir mesaj döndürür.

Özel İşlemlerin Avantajları

Botpress'teki özel eylemler, sohbet robotunuzun yeteneklerini ve işlevselliğini artıran çeşitli avantajlar sunar:

  1. Chatbot işlevselliğini yerleşik yeteneklerin ötesine taşıyorlar.
  2. Daha iyi bir kullanıcı deneyimi için özel etkileşimler oluştururlar.
  3. Dinamik yanıtlar için API'lerden gerçek zamanlı veriler alırlar.
  4. Arka uç sistemleri ve veritabanlarıyla entegre olurlar.
  5. Karmaşık senaryoları özel kodla ele alıyorlar.
  6. Eylemleri sohbet robotları ve akışlar arasında yeniden kullanırlar.
  7. Özel hata işleme ve günlüğe kaydetme işlemlerini uygularlar.
  8. Kaynak yoğun görevleri optimize ederler.
  9. Ölçeklendirme için harici hizmetlerden yararlanırlar.
  10. Önceden oluşturulmuş özel eylemlere erişebilir ve bunları paylaşabilirler.

Çözüm

Botpress'teki özel eylemler, sohbet robotu yeteneklerini genişletir, etkileşimleri kişiselleştirir ve harici API'leri entegre eder. Geliştiriciler sunucu tarafı JavaScript işlevlerini oluşturur ve bunları Botpress Flow Builder'dan çağırır. Bu eylemler, sohbet robotlarını daha çok yönlü ve güçlü araçlar haline getiren kodun yeniden kullanılabilirliği, gelişmiş performans ve ölçeklenebilirlik sunar. Botpress'teki özel eylemlerden yararlanmak, yenilikçi ve ilgi çekici chatbot deneyimleri yaratır.