Dialogflow'dan Actions Builder projesine taşıma

Bir Dialogflow geliştiricisi olarak mevcut İşlemlerinizi Actions Builder'a taşımak isteyebilirsiniz. Actions geliştirmek için yeni konsol içi yöntemi kullanmanın bir dizi avantajı vardır ve mevcut Dialogflow projenizi kolayca taşıyabilirsiniz. Bu sayfada Dialogflow/Actions Builder taşıma aracının nasıl kullanılacağı açıklanmaktadır.

Bu kılavuz üzerinde çalışmaya başlamadan önce Dialogflow ile Actions Builder arasındaki önemli kavramları ve farklılıkları ele alan Dialogflow'dan Actions Builder'a taşımaya genel bakış başlıklı makaleyi incelemeniz gerekir.

Taşıma aracı ne işe yarar?

Dialogflow'dan Actions Builder'a taşıma aracı, amaçlar ve varlıklar gibi belirli Dialogflow öğelerini Action Builder ile çalışacak şekilde dönüştürür.

Taşıma aracı, aşağıdaki Dialogflow öğelerini Actions Builder'a otomatik olarak taşır:

  • Dialogflow'un ana çağrı olarak taşınan Varsayılan Karşılama Niyeti.
  • İşleminizin desteklediği her dil için tüm eğitim ifadeleri ve öğeler.
  • Genel amaç olarak taşınan, giriş bağlamı olmayan amaçlar.
  • Sahne ve amaç olarak taşınan, tek giriş bağlamına sahip amaçlar.
  • Giriş bağlamı ve slot doldurma özelliği olan amaçlarda iki sahne kullanılır ve bir tanesi de slot doldurma yöntemiyle sahneye geçiş yapma amacı taşır.
  • Dialogflow yedek, medya ve karşılama etkinliklerini kullanan amaçlar, ilgili Actions Builder işleyicisi ve eğitim ifadeleriyle intent ile sonuçlanır.
  • Dialogflow tarihini ve sayı sistem varlıklarını kullanan amaçlar, ilgili Actions Builder sistem türleriyle sonuçlanır.

Taşıma aracı aşağıdaki Dialogflow öğelerini işlemez:

  • Birden fazla giriş bağlamına sahip amaçlar. Sahnelerin manuel olarak oluşturulması gerekir.
  • Dialogflow'da özel etkinlikler kullanan amaçlar.
  • Tarih veya sayı olmayan Dialogflow sistem varlıkları. Bu varlıklar yeni tür olarak oluşturulur ancak eş anlamlıları manuel olarak eklemeniz gerekir.
  • Dialogflow istek karşılama kaynak kodu. Bu kod, API sürümlerindeki farklılıklar nedeniyle Builder'a taşınmadı.

Taşıma aracına erişme

Taşıma aracına erişmek için Actions konsolunda bir Dialogflow projesi açın ve Geliştir > İşlemler bölümüne gidin.

Actions Console'da kullanılan projeden emin değilseniz Dialogflow konsolu'na gidin ve şu adımları uygulayın:

  1. Taşımak istediğiniz projeyi açın ve Ayarlar simgesini tıklayın.
  2. Genel > Proje Kimliği bölümünde Google'daki İşlem bağlantısını tıklayın. Bu adım sizi ilgili projeye ilişkin Actions konsoluna yönlendirir.
  3. Geliştirme > İşlemler'e gidin ve Taşımayı önizle'yi tıklayın.

Bilgilendirici slaytlarda gezinin ve taşıma kontrol panelini görmek için Taşımayı başlat'ı tıklayın.

Taşıma kontrol paneli

Taşıma kontrol panelinde, taşıma seçeneklerinin yanı sıra hangi öğelerin taşınacağına ilişkin bilgiler de gösterilir.

Taşıma seçenekleri

Taşıma aracı, Dialogflow projenizi Actions Builder'a taşımak için iki seçenek sunar:

  • Yeni proje olarak taşı (önerilir)
    • Mevcut Dialogflow projenizi korur ve bir kopyasını yeni bir projeye taşır.
    • Görünen ad ve dizin bilgileri, mevcut üretim projesiyle ilişkili kalır. Taşınan projenizle canlı projenizin üzerine nasıl yazılacağı hakkında önerilen sürece göz atın.
  • Bu projeyi taşı
    • Mevcut Dialogflow projesini değiştirir ve projeniz için tanımladığınız mevcut görünen ad ile Asistan dizin bilgilerini korur.

Taşıma raporu

Taşıma raporunun her bir bölümünü, aşağıdaki bilgilerle ilgili projeye özgü ayrıntıları gösterecek şekilde genişletebilirsiniz:

  • Tamamen taşınacak öğeler.
  • Taşınacak ancak taşıma sonrası ek kurulum gerektirir.
  • Gerekirse taşınmayacak ve manuel olarak eklenmesi gereken öğeler.
  • Dialogflow projenizin kullandığı ancak Actions Builder'da kullanılamayan özellikler.

Ayrıca, projenizde taşıma sonrası değişiklikler yaparken başvurabileceğiniz taşıma raporunu da indirebilirsiniz.

Taşıma sonrası kurulum

Taşıma aracı, Dialogflow projenizin önemli parçalarını Actions Builder'a taşımaya yardımcı olur. Bununla birlikte, taşınmamış geçişleri, istemleri ve webhook'ları ayarlamak için ek geliştirme yapılması gerekir.

Sahneleri kullanmak için konuşma akışınızı güncelleyin

Taşıma aracı, tek bir giriş bağlamına sahip Dialogflow niyetlerine dayalı sahneler oluşturur ancak bu bire bir ilişki değildir. Taşınan sahnelerden bazıları, yeni görüşme modeliyle Actions Builder'da anlamlı olmayabilir.

Hangi sahnelerin gerekli olduğunu değerlendirerek konuşma akışını yeniden değerlendirmeniz gerekebilir. İşleminizin karmaşıklığına bağlı olarak, sohbet akışınıza uygun olmayan oluşturulan sahnelerin bazılarını silmek daha kolay olabilir.

Genel amaçları inceleme ve güncelleme

Giriş bağlamı olmayan Dialogflow niyetleri, Actions Builder'a genel niyet olarak taşınır. Genel amaçlar görüşme boyunca etkindir. Yani herhangi bir anda eşleştirilebilirler.

Genel amaçlar, İşleminizi çağırdıklarında kullanıcılarla belirli akışlara derin bağlantı oluşturmak için de kullanılabilir. Oluşturulan genel amaçların etkin ve global kapsamdaki kullanıcılar için erişilebilir olması gerektiğini doğrulamak önemlidir. Genel amaçları normal niyetlere değiştirmek için amacı tıklayın ve genel intent işleme seçeneğini HAYIR olarak değiştirin.

Amaçları benzer eğitim ifadeleriyle birleştirin

Amaçlarınızdan bazıları çok benzer eğitim ifadelerini paylaşıyorsa amaçları tek bir genel amaçta birleştirmeniz gerekir. Böylece amaç eşleştirmenin doğruluğu artar.

Örneğin, A Amacı aşağıdaki eğitim ifadelerine sahiptir:

  • "tamam, hazır olduğundan emin olmak istiyorum"
  • "Tamam, hazır."
  • "Haydi yapalım"

Amaç B'de aşağıdaki eğitim ifadeleri bulunur:

  • "tamam, hazır olduğundan emin olmak istiyorum"
  • "Tamam, sanırım hazırım"

İki amaç arasındaki eğitim ifadeleri benzer olduğundan A Amacı ve B Amacı'nı daha genel bir amaç (A Amacı) olarak birleştirin ve orijinalleri silin. A Amacı veya A Amacı'na atıfta bulunan sahnelerde A Amacı'nı kullanın.

Niyet C'de aşağıdaki eğitim ifadeleri bulunur:

  • "tamam, hazır olduğundan emin olmak istiyorum"
  • "Tamam, hazır."
  • "Haydi yapalım"
  • "Tamam, sanırım hazırım"

Olay işlemeyi güncelleme

Dialogflow'da belirli etkinlikleri (fallback, media ve welcome) kullanan amaçlar için taşıma aracı, söz konusu etkinlikle ilgili bir sistem amacı oluşturur. Aynı Dialogflow niyetinde eğitim ifadeleri varsa aynı eğitim ifadeleriyle ek bir niyet oluşturulur.

Actions Builder'da etkinlik oluşturma işlemini tamamlamak için gerektiği şekilde geçişlerin yanı sıra webhook işleyicileri de eklemeniz gerekir.

Yedek amaçları işlemek için sistem amaçları ekleyin

Dialogflow'da yedek niyetler, intent'in kullanıcı girişini tanımadığı durumları yönetir. Actions Builder, bu durumları dikkate almak için NO_MATCH ve NO_INPOUT sistem amaçlarını kullanır.

NO_MATCH ve NO_INPUT sistem amaçları, bir sahneye en fazla üç kez eklenebilir. Örneğin, bir sahneye üç NO_MATCH amacı eklediğinizde, işleminizin kullanıcının yanıtında ne aradığıyla ilgili daha fazla ayrıntıyla kademeli bir şekilde yanıt verebilirsiniz.

Dialogflow projenizin yedek niyetleri kullandığı sistem amaçları eklemek önemlidir. Yaygın olarak kullanılan Actions Builder sistem amaçlarına örnek olarak NO_MATCH ve NO_INPUT verilebilir. Bu sistem amaçları hakkında daha fazla bilgi edinmek için sistem amaçlarına göz atabilirsiniz.

Sipariş karşılama stratejinizi güncelleyin

Dialogflow istek karşılama kodunuzu Actions Builder'a taşımak, taşıma sürecinin en büyük parçalarından biridir. Webhook çağrıları ve genel istek karşılama kavramları aynı kalırken, Actions Builder, işlevleri yeniden kullanma seçenekleri sunar ve daha fazla webhook tetikleme fırsatı ekler.

Bu durumu göz önünde bulundurarak, Actions Builder'ın özelliklerinden yararlanmak için projenizin karşılanma durumunu yeniden gözden geçirmek isteyebilirsiniz:

  • Özel webhook işleyici adları, farklı sahnelerin birden fazla bölümünden aynı webhook işlevini çağırabileceğiniz anlamına gelir.
  • Webhook çağrıları; sahne girme, koşullu doğrulama, slot doldurma ve amaç eşleştirmeye dayalı olarak yapılabilir. Webhook çağrılarının ne zaman ve nerede yapıldığına dair daha ayrıntılı kontrol, daha yaratıcı istek karşılama çözümlerine olanak tanır.

Sipariş karşılama kodunuzu güncellerken webhook çağrılarını ne zaman ve nerede tetiklemeniz gerektiğini düşünün. Webhook'unuzu çağırma seçeneğini kullanarak webhook'ları bir sahnenin birden fazla bölümünde etkinleştirebilirsiniz. Webhook'ları etkinleştirme hakkında daha fazla bilgi için Sipariş karşılama ve taşıma kılavuzunun webhook'lar bölümüne bakın.

Taşıma örnekleri

Dialogflow'dan Actions Builder'a taşınan projeler, her aracın kullandığı sohbet modelindeki farklılıklar nedeniyle önemli ölçüde farklı yapılara sahiptir. Actions Builder'daki sahnelerin, istemlerin ve geçişlerin yanı sıra yeniden kullanılabilir webhook işleyicileri gibi özellikleri kullanmak, taşınan bir projenin kodunu orijinal koddan önemli ölçüde farklı kılar.

Taşınan projeleri karşılaştırmak, Dialogflow'dan Actions Builder'a taşıma işlemi sırasında gerekli olan değişikliklerin türünü ve kapsamını anlamanıza yardımcı olabilir. Uygulamaları karşılaştırmak için aşağıdaki taşınan örnek projeleri inceleyebilirsiniz:

Örnek Proje Dialogflow Kodu İşlem Oluşturucu Kodu
Google ile ilgili bilgiler proje kodu proje kodu
İşlemler proje kodu proje kodu
Hesap bağlama proje kodu proje kodu

Bu bölümde önerilen taşıma işlemi açıklanır ve mevcut görünen (çağrı) adınız, dizin bilgileri ve geçmiş analizlerinizi muhafaza etmenize olanak tanır.

Bu süreç, aynı Dialogflow projesinden taşınan iki farklı Actions Builder projesiyle çalışmayı içerir. Daha net bir ifadeyle, bu projeler aşağıdaki isimle anılır:

  • Deneme amaçlı: Bu proje, taşıma işleminizi ayarlamak ve test etmek için kullanılır.
  • orijinal: Bu proje şu anda yayında ve kullanıcılara hizmet veriyor.

Projenizi taşımak için şunları yapın:

  1. Dialogflow'un dışa aktarma özelliğini kullanarak Dialogflow projenizin yedeğini oluşturun.
  2. Actions Console'a gidin ve taşımak istediğiniz projeyi açın.
  3. Geliştirme > İşlemler'e gidin ve Taşımayı önizle'yi tıklayın.
  4. Bilgilendirici slaytları tıklayarak ilerleyin ve ardından Taşımayı başlat'ı tıklayın.
  5. Yeni proje olarak taşı'yı seçin.
  6. Taşıma raporunu inceleyin ve dilerseniz daha sonra başvurmak üzere indirin.
  7. Migrate'i (Taşı) tıklayın.
  8. "Deneysel" projeniz için bir ad girin ve Proje Oluştur'u tıklayın. Proje kimliğini not edin.
  9. Taşıma işlemi sonrası için gerekli tüm ayarları yapın ve işleminizin beklendiği gibi çalıştığını doğrulayın.
  10. "Deneysel" projenizin taslağını almak için gactions KSA'yı kullanın.

    gactions pull --project-id experimental-project-id

  11. Actions konsolunda "orijinal" Dialogflow projenizi yeniden açın.

  12. Geliştirme > İşlemler'e gidin ve Taşımayı önizle'yi tıklayın.

  13. Bu projeyi taşı'yı seçin.

  14. Migrate'i (Taşı) tıklayın.

  15. Diğer simgesi > Proje ayarları'nı tıklayın ve Proje Kimliği'ni not edin.

  16. Yerel sisteminizde, aldığınız "deneysel" projenin settings.yaml dosyasını açın ve projectId değerini "orijinal" projenin proje kimliğiyle değiştirin.

  17. Yerel olarak kaydedilmiş projenizin taslağını aktarmak için gactions KSA'yı kullanın.

    gactions push

  18. Alfa veya beta kanalları üzerinden yayınlama adımlarını uygulayın ya da İşleminizi üretim kanalına yayınlayın.