Dialogflow ES Google Chat uygulaması oluşturma

Bu sayfada, doğal dili anlamak ve yanıtlamak için Dialogflow ES'yi kullanan bir Google Chat uygulamasının nasıl oluşturulacağı açıklanmaktadır. Ayrıca, Google Chat ile doğrudan entegrasyonu olan Dialogflow CX'i kullanarak Dialogflow CX Google Chat kılavuzundaki adımları uygulayarak 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. Bir kullanıcı, bir Chat uygulamasına doğrudan mesaj yoluyla ya da bir Chat alanında 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önetimi sistemi veya bilet oluşturma aracı gibi harici üçüncü taraf hizmetleriyle etkileşimde bulunabilir.
  4. Dialogflow aracısı, Chat'teki Chat uygulama hizmetine bir 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ğinizi onaylayın ve Etkinleştir'i tıklayın.

Dialogflow ES temsilcisi oluşturma

Mevcut bir Dialogflow ES aracınız yoksa:

  1. Dialogflow ES Console'a gidin.
  2. Create Agent'ı (Ajan oluştur) tıklayın.
  3. Mülke bir ad verin, varsayılan bir dil ve saat dilimi seçin.
  4. Bunu Cloud projenizle ilişkilendirin.
  5. Oluştur'u tıklayın.
  6. Chat uygulaması etkileşimli akışınız için gereken amaçları ve varlıkları 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.

Sohbet uygulaması oluşturma ve Dialogflow aracısıyla bağlama

Dialogflow ES aracısı oluşturduktan sonra, bu aracı 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 git

  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 alanına 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'i seçin.
    7. Alanınızdaki belirli kişilerin ve grupların bu Chat uygulamasını kullanabilmesini sağlayın ve e-posta adresinizi girin.
    8. Günlükler bölümünde Günlük hatalarını günlüğe kaydetme'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ı, 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üme sahiptir. 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.

Görüntüler

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

Özel Yük

Diğer Google Chat sohbet 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 başlığı olabilir. Bu özellik ile oluşturabileceğiniz bazı kombinasyonları görmek için kart mesajları 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 Chat uygulamalarını Dialogflow ile kullanırken, Chat etkinlik nesneleri aşağıdaki sınırlamalara ve dikkat edilmesi gereken noktalara sahiptir:
    • Uygulama Ana Sayfası Etkinlikleri: APP_HOME etkinlikleri henüz desteklenmemektedir.
    • Dialogflow Query Input: Sorgu girişi olarak Dialogflow temsilcisine 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 belgelerine bakın.
  • 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 eşzamanlı olarak gönderilir. Dialogflow temsilcisi birden fazla mesajla yanıt verirse tüm mesajlar, Chat API'deki spaces.messages kaynağında her mesaj için bir kez create yöntemi ç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 öncelikle 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 amacıyla Cloud projesini silmenizi öneririz.

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

    Kaynak Yöneticisi'ne 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 sohbet uygulamasıyla kullanmanın başka bir yoludur.