Dialogflow ES ile Google Chat eklentisi oluşturma

Bu sayfada, doğal dili anlamak ve yanıtlamak için Dialogflow ES'yi kullanan bir Google Workspace eklentisi olarak Google Chat uygulaması oluşturma açıklanmaktadır. Ayrıca, Dialogflow CX Google Chat kılavuzundaki adımları uygulayarak Google Chat ile doğrudan entegrasyonu olan Dialogflow CX'i kullanarak bir Dialogflow CX Google Chat uygulaması oluşturabilirsiniz.

Hedefler

  • Ortamınızı ayarlayın.
  • Dialogflow ES aracısı oluşturma ve dağıtma.
  • Dialogflow ES aracısı tarafından desteklenen bir Chat uygulaması oluşturup dağıtın.
  • Chat uygulamasını test edin.

Ön koşullar

Mimari

Aşağıdaki şemada, Dialogflow ile oluşturulmuş bir sohbet uygulamasının mimarisi gösterilmektedir:

Dialogflow ile uygulanan bir Chat uygulamasının mimarisi.

Önceki şemada, bir Dialogflow Chat uygulamasıyla etkileşimde bulunan kullanıcının bilgi akışı şu şekildedir:

  1. Kullanıcı, Chat'te bir Chat uygulamasına doğrudan mesaj veya Chat alanı üzerinden mesaj gönderir.
  2. konumunda bulunan bir Dialogflow sanal aracısı, yanıt oluşturmak için mesajı alır ve işler.
  3. İsteğe bağlı olarak, Dialogflow webhook'u kullanılarak Dialogflow aracısı, proje yönetim sistemi veya bilet oluşturma aracı gibi harici üçüncü taraf hizmetleriyle etkileşimde bulunabilir.
  4. Dialogflow aracısı, Chat'teki Chat uygulaması hizmetine yanıt gönderir.
  5. Yanıt, Chat alanına gönderilir.

Ortamı ayarlama

Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.
  1. Google API Konsolu'nda Google Chat API ve Dialogflow API'yi etkinleştirin.

    API'leri etkinleştirme

  2. API'leri doğru Cloud projesinde etkinleştirdiğinizi onaylayın ve İleri'yi tıklayın.

  3. Doğru API'leri etkinleştirdiğinizden emin olun ve Etkinleştir'i tıklayın.

Dialogflow ES aracısı oluşturma

Mevcut bir Dialogflow ES aracınız yoksa:

  1. Dialogflow ES Konsolu'na gidin.
  2. Create Agent'ı (Aracı Oluştur) tıklayın.
  3. Mülke bir ad verin, varsayılan bir dil ve saat dilimi seçin.
  4. Cloud projenizle ilişkilendirin.
  5. Oluştur'u tıklayın.
  6. Chat uygulamanızın sohbet akışı için gerektiği şekilde niyetlerinizi ve varlıklarınızı oluşturun. Selamlama niyetiyle başlayabilirsiniz.
  7. Proje kimliğinizi not edin.

Ayrıntılı kılavuz için Aracı oluşturma başlıklı makaleyi inceleyin.

Chat uygulaması oluşturma ve Dialogflow aracısına bağlama

Dialogflow ES aracısı oluşturduktan sonra, bunu bir sohbet uygulamasına dönüştürmek için aşağıdaki adımları uygulayın:

  1. Google API Konsolu'nda Google Chat API'ye gidin. "Google Chat API" araması yapın ve Google Chat API'yi, ardından Yönet'i tıklayın.

    Chat API'ye gitme

  2. Yapılandırma'yı tıklayın ve Chat uygulamasını ayarlayın:

    1. Uygulama adı alanına Dialogflow App yazın.
    2. Avatar URL'si bölümüne https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png girin.
    3. Açıklama bölümüne Responds to real human conversation girin.
    4. İşlevsellik bölümünde Alanlara ve grup görüşmelerine katılma'yı seçin.
    5. Bağlantı ayarları bölümünde Dialogflow'u seçin.
    6. Dialogflow ayarları bölümünde Dialogflow ES'yi seçin.
    7. Alanınızdaki belirli kişilerin ve grupların bu Chat uygulamasını kullanmasına izin verin ve e-posta adresinizi girin.
    8. Günlükler bölümünde Günlüğe kaydetme işlemine hata günlüğü ekle'yi seçin.
  3. Kaydet'i tıklayın.

Chat uygulaması, Chat'teki mesajları almaya ve yanıtlamaya hazırdır.

Chat uygulamasını test etme

Google Chat'te Dialogflow ES Chat uygulamasına mesaj göndererek uygulamayı test edin.

  1. Kendinizi güvenilir test kullanıcıları arasına eklerken sağladığınız Google Workspace hesabını kullanarak Google Chat'i açın.

    Google Chat'e gidin.

  2. Yeni sohbet'i tıklayın.
  3. 1 veya daha fazla kişi ekle alanına Chat uygulamanızın adını yazın.
  4. Sonuçlardan Chat uygulamanızı seçin. Doğrudan mesaj açılır.

  5. Uygulamayla yeni doğrudan mesajda Hello yazıp enter tuşuna basın.

    Dialogflow Chat uygulaması, bir karşılama mesajıyla yanıt verir.

Metin yanıtları

Metin yanıtları, Google Chat'e kısa mesaj olarak gönderilir. Bu biçimlendirme sayesinde, metni belirli (Markdown Light) sembollerle sarmalayarak kalın veya italik yapabilirsiniz.

Kısa mesaj yanıtı, Dialogflow Console'daki varsayılan metin yanıtıyla görsel olarak aynı görünümdedir. Ancak, ham API yanıtı biraz farklı görünür. Ayrıca, platform yapılandırmasını GOOGLE_HANGOUTS olarak ayarlar. Bu, birden fazla entegrasyon için aracı oluştururken faydalı olabilir.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Kartlar

Kart yanıtları, Google Chat'e kart mesajları olarak gönderilir.

Resimler

Resim yanıtları, Google Chat'e Google Chat Resim Widget'ları olarak gönderilir.

Özel Yük

Diğer Google Chat mesajı türlerini göndermek için özel yük kullanabilirsiniz.

Google Chat Custom Payload, daha gelişmiş kartlar oluşturmanıza olanak tanır. Bir kartta bir veya daha fazla bölüm olabilir. Her bölümün bir başlığı olabilir. Bu eklentiyle oluşturabileceğiniz bazı kombinasyonları görmek için Google Workspace eklentisi, Chat kartlarını genişletme referans kılavuzuna göz atabilirsiniz. Ancak özel yükler kullanmak için JSON biçimini sağlamanız gerekir.

Aşağıda, kart içeren bir mesaj oluşturmak için kullanılan özel yük örneği verilmiştir:

{ "hangouts": { "hostAppDataAction": { "chatDataAction": {
  "createMessageAction": { "message": { "cardsV2": [{
    "cardId": "pizza",
    "card": {
      "header": {
        "title": "Pizza Delivery Customer Support",
        "subtitle": "pizzadelivery@example.com",
        "imageUrl": "https://goo.gl/aeDtrS"
      },
      "sections": [{ "widgets": [{ "textParagraph": {
        "text": " Your pizza is here!"
      }}]}]
    }
  }]}}
}}}}

Sınırlar ve dikkat edilmesi gereken noktalar

  • Google Workspace eklentilerini Dialogflow ile kullanırken Chat etkinlik nesneleri aşağıdaki sınırlamalara ve hususlara tabidir:
    • Uygulama Ana Sayfası Etkinlikleri: APP_HOME etkinlikleri henüz desteklenmemektedir.
    • Dialogflow Sorgu Girişi: Dialogflow aracısına sorgu girişi olarak gönderilen metin, etkinlik türüne bağlıdır:
      • MESSAGE: Sohbet mesajındaki argumentText alanının değeri.
      • APP_COMMAND: "APP_COMMAND_PAYLOAD" dizesi.
      • ADDED_TO_SPACE: Varsayılan bir karşılama etkinliği gönderilir.
      • REMOVED_FROM_SPACE: "REMOVED_FROM_SPACE_PAYLOAD" dizesi.
      • CARD_CLICKED: "BUTTON_CLICKED_PAYLOAD" dizesi.
      • WIDGET_UPDATED: "WIDGET_UPDATED_PAYLOAD" dizesi (otomatik tamamlama için kullanılır).
    • Tam Etkinlik Yükü: Sohbet etkileşimi etkinliğinin tam JSON yükü, WebhookRequest.payload alanı içinde Dialogflow'a gönderilir. Buna Dialogflow webhook'unuzdan erişebilirsiniz. Daha fazla bilgi için Dialogflow ES webhook isteği belgelerini inceleyin.
  • Komutlara yanıt verme ve kartlardan veya iletişim kutularından veri alma ile ilgili dikkat edilmesi gereken noktalar:
  • Bağlantı önizlemeleri desteklenmez.
  • Dialogflow aracısı yalnızca tek bir mesajla yanıt verirse mesaj, Google Chat'e senkron olarak gönderilir. Dialogflow aracısı birden fazla mesajla yanıt verirse tüm mesajlar, Chat API'deki spaces.messages kaynağında create yöntemi her mesaj için bir kez çağrılarak Chat'e eşzamansız olarak gönderilir.
  • Chat ile Dialogflow ES entegrasyonunu kullanırken Dialogflow aracısı ve Chat uygulaması aynı Google Cloud projesinde ayarlanmalıdır.

Sorun giderme

Chat uygulamanızda hata ayıklamak için önce hata günlüklerini inceleyin. Bu uygulama Dialogflow'u kullandığından, çeşitli günlük kaydı ve sorun giderme kaynaklarından yararlanabilirsiniz:

Temizleme

Bu eğitimde kullanılan kaynaklar için hesabınızın ücretlendirilmesini önlemek istiyorsanız Cloud projesini silmenizi öneririz.

  1. Google API Konsolu'nda Kaynakları yönetin sayfasına gidin. Şunu tıklayın: Menü > IAM ve Yönetici > Kaynakları Yönetin.

    Resource Manager'a gidin

  2. Proje listesinde, silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
  3. İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
  • Dialogflow CX, Dialogflow'u bir Chat uygulamasıyla kullanmanın başka bir yoludur.