Doğal dili anlayan ve yanıt veren bir Dialogflow CX Google Chat uygulaması derleyin

Bu sayfada, Dialogflow'u kullanarak doğal dili hem anlayabilen hem de doğal dilde yanıt verebilen bir Google Chat uygulamasının nasıl oluşturulacağı açıklanmaktadır. Bu kılavuzda, Google Chat ile doğrudan entegrasyonu olan Dialogflow CX kullanılır. Ayrıca, Dialogflow ES Google Chat kılavuzunu izleyerek Dialogflow ES'i kullanarak Dialogflow ES Google Chat uygulaması oluşturabilirsiniz.

Örneğin, kullanıcıların araba kiralamasına yardımcı olan bir Chat uygulamasını ele alalım. Kullanıcılar "Araba kiralamak istiyorum" yazabilir. Chat uygulaması, "Aracı nereden almak istersiniz?" gibi bir soruyla yanıt verebilir. Bu soru, kullanıcıyla insan benzeri bir sohbet başlatır. Chat uygulaması, araç kiralama işlemi sırasında hem anlar hem de insan konuşmasıyla yanıt verir.

Bu sadece bir örnektir. Dialogflow Chat uygulamaları her türlü etkileşimde faydalıdır. Doğal insan konuşması gerekiyorsa Dialogflow Chat uygulaması gerekir. Önceden oluşturulmuş aracılar, hızlı bir başlangıç yapmanıza yardımcı olur ve Dialogflow'un yapabileceklerini gösterir. Örneğin:

  • Uçuş rezervasyonu yapma
  • Doktor randevusu planlama
  • Yemek siparişi verme
  • Bir perakende ürün kataloğuyla ilgili soruları (ör. öğelerin başka renklerde olup olmadığı) yanıtlama
  • Hazır Dialogflow aracısı seçim sayfası.
    Şekil 1. Dialogflow Chat uygulaması için önceden oluşturulmuş bir aracı seçme.
  • Dialogflow CX'te temsilciyi test etme
    Şekil 2. Temsilcinin mantığının ve yapılandırmasının beklendiği gibi çalıştığından emin olmak için Dialogflow CX'te temsilciyi test etme. Şemada, sohbetteki belirli adımlarla (ör. kiralık araba için teslim alma ve iade yeri belirleme) ilgili tematik sayfaların sıralı bir grubu gösterilmekte ve bunları birbirine bağlayan mantık yapılandırılmaktadır. Sohbet bir simülatörde test edilir.
  • Dialogflow Chat uygulamasını yapılandırma.
    Şekil 3. Google Cloud Console'daki Chat API yapılandırma sayfasında Chat uygulamasını, yanıtları Dialogflow CX temsilcisini kullanarak işleyecek şekilde yapılandırma.
  • Dialogflow CX Chat uygulamasını test etme
    Şekil 4. Google Chat'teki Dialogflow Chat uygulamasıyla kiralık araç rezervasyonu hakkında konuşma.

Hedefler

  • Ortamınızı ayarlayın.
  • Dialogflow CX aracısı oluşturma ve dağıtma
  • Dialogflow CX 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. Google Cloud'da 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 Cloud Console'da 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 CX temsilcisi oluşturma

Dialogflow CX aracısı, son kullanıcılarınızla eşzamanlı görüşmeleri yöneten bir sanal aracıdır. İnsan dilinin nüanslarını anlayan bir doğal dil anlama modülüdür. Dialogflow, bir görüşme sırasında son kullanıcı metnini uygulamalarınızın ve hizmetlerinizin anlayabileceği yapılandırılmış verilere çevirir. Sisteminiz için gereken sohbet türlerini işlemek üzere bir Dialogflow ajanı tasarlayıp oluşturursunuz.

Dialogflow temsilcisi, insan olan bir çağrı merkezi temsilcisine benzer. Her ikisini de beklenen görüşme senaryolarını ele alacak şekilde eğitirsiniz ve eğitiminizin aşırı açık olması gerekmez.

Dialogflow CX temsilcisini oluşturmak için:

  1. Dialogflow CX konsolunda Dialogflow CX Konsolu'nu açın. Menü > Dialogflow CX'i tıklayın.

    Dialogflow CX konsoluna gidin.

  2. Bir Google Cloud projesi seçin. Projenizi bulmak için Tümü'nü tıklayıp aramanız gerekebilir.

  3. Artık önceden oluşturulmuş bir temsilciyi seçebilir veya kendi temsilcinizi oluşturabilirsiniz. Ajan özelleştirmeyi daha sonra ayrıntılı olarak incelemeyi tercih ederseniz önceden oluşturulmuş ajanlardan birini seçin. Bu ajanlar, ajanların neler yapabileceği hakkında bilgi edinmek için de faydalıdır.

    Önceden oluşturulmuş bir aracı seçmek için aşağıdaki adımları uygulayın:

    1. Hazır temsilcileri kullan'ı tıklayın.
    2. Önceden oluşturulmuş bir aracı seçin. Bu kılavuz için Seyahat: araç kiralama'yı seçin.

      Temsilciler, kullandıkları özelliklerin sayısı ve sohbet mantığının karmaşıklığına göre başlangıç, orta veya ileri düzey olarak derecelendirilir. Orta veya ileri düzey bir aracı seçmek, Google Cloud Console'da özellikleri ve API'leri etkinleştirme de dahil olmak üzere araca özel özelleştirmeler ve ayarlar gerektirebilir.

    3. Ajan olarak içe aktar'ı tıklayın.

    Kendi aracınızı oluşturmak için aşağıdaki adımları uygulayın:

    1. Create agent'ı (Ajan oluştur) tıklayın.
    2. Otomatik oluştur'u seçerek bir veri deposu aracısı oluşturun veya diğer aracı türlerini oluşturmak için Kendiniz oluşturun'u seçin.

    Ajan oluşturma süreciyle ilgili ayrıntılı bir açıklama için Dialogflow CX ajanı oluşturma başlıklı makaleyi inceleyin.

  4. Temel temsilci ayarlarını yapılandırın:

    1. Görünen ad alanına bir görünen ad girin.
    2. Tercih ettiğiniz konumu seçin. Gelişmiş konum ayarlarını değiştirmek istiyorsanız Düzenle'yi tıklayın.
    3. Tercih ettiğiniz saat dilimini seçin.
    4. Ajanınızın varsayılan dilini seçin. Oluşturulduktan sonra bir temsilcinin varsayılan dilini değiştiremezsiniz.
  5. Oluştur'u tıklayın. Dialogflow CX, temsilciyi oluşturmaya başlar ve ardından temsilcinin varsayılan başlangıç akışını gösterir.

  6. İsteğe bağlı olarak, aracıyı özelleştirin. Ajan özelleştirme süreciyle ilgili ayrıntılı bir açıklama için Dialogflow CX ajanı oluşturma başlıklı makaleyi inceleyin.

  7. En iyi uygulama olarak, aracıyı test edin:

    1. Test agent'ı (Test aracısı) tıklayın.
    2. Test agent in environment'ı (Ortamda aracı test et) seçin.
    3. Ortam bölümünde Taslak'ı seçin.
    4. Flow'da Default Start Flow'u (Varsayılan Akış Başlatma) seçin.
    5. Sayfada Başlangıç Sayfası'nı seçin.
    6. Temsilciyle konuşun oluşturma çubuğuna Hello yazıp Enter tuşuna basın. Ajan, kendisini tanıtarak yanıt veriyor.
    7. Örnek test sohbetini yaparak testi tamamlayın.
  8. Dialogflow CX temsilcisi oluşturulur. Dialogflow CX konsoluna dönün. Menü > Dialogflow CX'i tıklayın.

    Dialogflow CX konsoluna gidin.

  9. Aracılar bölümünde > Adı kopyala'yı tıklayın. Chat uygulamasını yapılandırırken bu adı kullanacağınız için kaydedin.

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

Dialogflow CX ajanı oluşturduktan sonra, bu ajanı bir sohbet uygulamasına dönüştürmek için aşağıdaki adımları uygulayın:

  1. Google Cloud Console'da 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 CX'i seçin.
    7. Agent or Environment resource name (Ajan veya Ortam kaynak adı) bölümüne, Dialogflow CX ajanı oluşturma bölümünün sonunda kopyaladığınız Dialogflow CX ajan adını yapıştırın.
    8. Alanınızdaki belirli kişilerin ve grupların bu Chat uygulamasını kullanabilmesini sağlayın ve e-posta adresinizi girin.
    9. 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 CX 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ı, kendisini tanıtarak yanıt verir.

  6. Örnek test sohbetini yaparak testi tamamlayın.

Örnek test görüşmesi

Dialogflow CX Chat uygulamasını Dialogflow CX konsolunda veya Google Chat'te test etmek için aşağıdaki sohbeti yapın. Açıklama, Dialogflow CX temsilcisinin kullanıcının doğal dilini nasıl yorumladığını ve görüşmenin her adımında kendi doğal dil yanıtını nasıl oluşturduğunu anlamanıza yardımcı olur. Bu örnek görüşme, Seyahat: araba kiralama adlı önceden oluşturulmuş ajana dayanmaktadır.

Dialog Açıklama
Son kullanıcı: Merhaba
Temsilci: Merhaba. Ben sanal araç kiralama temsilcisiyim. Yeni bir araç kiralama rezervasyonu başlatmanıza yardımcı olabilirim. Bugün size nasıl yardımcı olabilirim?
  1. Varsayılan Başlangıç Akışı'ndaki Varsayılan Karşılama Niyeti rotası çağrılır.
  2. Bu durum işleyicinin ("Merhaba! Ben...") yanıt sırasına eklenir.
  3. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Araç kiralamak istiyorum.
Temsilci: Aracı nereden teslim almak istersiniz?
  1. Başlangıç Sayfası'ndaki car_rental.reservation_create amaç rotası eşleştirilir.
  2. Oturum, Teslim Alma Konumu sayfasına geçer.
  3. Teslim alma konumu sayfa formu tamamlanmadığı için ajan, kullanıcıya istem göndermek üzere pickup_location parametresini kullanıyor ("Nereden teslim almak istersiniz?"). Bu istek, yanıt sırasına eklenir.
  4. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Las Vegas
Temsilci: Tamam, teslim alma işlemi Las Vegas'ta yapılacak.
Temsilci: Teslim etme konumunuz, teslim alma konumunuzdan farklı mı?
  1. Son kullanıcı girişi, önceki görüşme dönüşünde ajan tarafından istenen pickup_location parametresini doldurur.
  2. car_rental.return_different_location amacı Varsayılan Başlangıç Akışı'nda yönlendirilir.
  3. Teslim alma konumu sayfasındaki form doldurma rotası değerlendirilir ve çağrılır. Yanıt kuyruğuna, parametre referansları son kullanıcı tarafından sağlanan gerçek değerlere çözümlenmiş şekilde eklenen bir karşılama ("Tamam, teslim alma işleminiz...") içerir.
  4. Oturum, Konumu Onayla sayfasına yönlendirilir.
  5. Konumu Onayla sayfasında bir giriş tamamlama alanı ("Teslimat konumunuz farklı mı?...") bulunur. Bu istek, yanıt sırasına eklenir.
  6. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Evet. Arabayı Los Angeles'ta bırakacağım.
Temsilci: Tamam, teslimatınız Los Angeles'ta yapılacak.
Temsilci: Aracı hangi tarih ve saatte teslim almak istersiniz?
  1. car_rental.return_different_location amacı Varsayılan Başlangıç Akışı'nda yönlendirilir.
  2. Oturum, Bırakma Yeri sayfasına geçer.
  3. Son kullanıcı girişi, önceki etkileşim adımında ajan tarafından istenen drop_off_location parametresini doldurur.
  4. Bırakma Konumu sayfasındaki form doldurma rotası değerlendirilir ve çağrılır. Yanıt sırasına eklenen bir karşılama ("Tamam, teslimatınız...") içerir.
  5. Oturum, Kiralama Süresi sayfasına yönlendirilir.
  6. Kiralama Süresi sayfasında form değerleri eksik olduğundan kullanıcıya pickup_date_time parametresiyle ilgili bilgi istemi gösteriliyor ("Aracı hangi tarih ve saatte teslim almak istersiniz?"). Bu istek, yanıt sırasına eklenir.
  7. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Arabayı 5 Mart'ta öğlen almak istiyorum.
Temsilci: Aracı hangi tarih ve saatte bırakmak istersiniz?
  1. Son kullanıcı girişi, önceki görüşme adımında ajan tarafından istenen pickup_date_time parametresini doldurur.
  2. Kiralama Süresi sayfasında başka bir form değeri eksik olduğundan kullanıcıya drop_off_date_time parametresi soruluyor ("Aracı hangi tarih ve saatte teslim etmek istersiniz?"). Bu istek, yanıt sırasına eklenir.
  3. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: 15 Mart saat 12:00
Temsilci: Onaylamak için:

Aracı şu adresten alacaksınız: Las Vegas 2024-03-05 12:00:00 ve şu adrese bırakacaksınız: Los Angeles 2024-03-15 12:00:00

Bu doğru mu?
  1. Son kullanıcı girişi, önceki etkileşim adımında ajan tarafından istenen drop_off_date_time parametresini doldurur.
  2. Oturum, Kiralama Süresini Onayla sayfasına geçer.
  3. Kiralama Süresini Onayla sayfasında giriş yerine getirme ("Yani onaylamak gerekirse...") var. Bu istek, yanıt sırasına eklenir.
  4. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Evet, teşekkür ederim.
Temsilci: Harika! Şimdi bir araç seçelim.
Ajan: Ekonomik mi yoksa lüks bir araç mı istiyorsunuz?
  1. Confirm Rental Duration (Kiralama Süresini Onayla) sayfasındaki small_talk.confirmation.yes amacı rotasıyla eşleşilir.
  2. Ajan, kullanıcının seçimini bir mesajla onaylar ("Harika! Şimdi de... seçelim."), Bu istek, yanıt sırasına eklenir.
  3. Oturum, Araç Belirsizliğini Giderme sayfasına yönlendirilir.
  4. Araç Belirsizliğini Giderme sayfası formu tamamlanmadığı için ajan, kullanıcıya istem göndermek için vehicle_type parametresini kullanıyor ("Ekonomik mi yoksa lüks bir..."). Bu istek, yanıt sırasına eklenir.
  5. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Ekonomik lütfen.
Ajan: Cymbal Car mı yoksa Cymbal Truck mı istersiniz?
  1. $session.params.vehicle_type="economy_vehicle" amaç rotasıyla eşleşilir.
  2. Oturum, Ekonomi Seçenekleri sayfasına geçer.
  3. Ekonomi Seçenekleri sayfasında giriş karşılama ("Would you like the...") seçeneği bulunur. Bu istek, yanıt sırasına eklenir.
  4. Ajan, yanıt sırasını son kullanıcıya gönderir.
Son kullanıcı: Cymbal Truck.
Temsilci: Cymbal Truck'ın günlük ücreti 50,33 ABD doları. 4 kişi kapasiteli olan bu araçta AM/FM radyo bulunur. Ödeme işlemine devam etmek istiyor musunuz?
Son kullanıcı: Evet, lütfen.
  1. $session.params.vehicle_type="Cymbal Truck" amacı rotası eşleştirilir ve vehicle_model parametresi doldurulur.
  2. Oturum, Confirm Cymbal Truck (Cymbal Truck'ı Onayla) sayfasına yönlendirilir.
  3. Confirm Cymbal Truck sayfasında bir giriş tamamlama var ("The Cymbal Truck is $50.33 per day..."). Bu istek, yanıt sırasına eklenir.
  4. Ajan, yanıt sırasını son kullanıcıya gönderir.
  5. Kullanıcının yanıtı small_talk.confirmation.yes rotasıyla eşleşiyor.
Temsilci: Hangi kart türünü kullanacaksınız?
Son kullanıcı: Altostrat
Temsilci: Lütfen kart numarasını girin.
Son kullanıcı: 1234 1234 1234 1234
Temsilci: Kartın üzerindeki ad nedir?
Son kullanıcı: Charlie
Temsilci: Fatura adresinin açık adresi nedir?
Son kullanıcı: 1800 Amphibious Blvd. Mountain View, CA
Temsilci: Faturalandırma posta kodu nedir?
Son kullanıcı: 94045
Temsilci: Cymbal Car'ı 2024-03-05 12:00:00 tarihinde Las Vegas'tan alıp 2024-03-15 12:00:00 tarihinde bırakacaksınız. Bu yolculuğun toplam tutarı 175,38 ABD doları olacaktır.
Temsilci: Bizden kiralama yaptığınız için teşekkür eder, iyi günler dileriz.
  1. Oturum, Ödeme sayfasına yönlendirilir.
  2. Ödeme formu tamamlanmadığı için temsilci, kullanıcıdan card_type, card_number, billing_name, billing_street_address ve billing_zip_code parametrelerini ("Hangi kart türü...") istiyor. Bu yanıtlar, yanıt sırasına eklenir ve kullanıcı yanıt verdikçe gönderilir. Kullanıcının yanıtları, her parametre değerini ayarlar.
  3. Oturum, Kiralama Onayı sayfasına yönlendirilir.
  4. Kiralama Onayı sayfasında bir giriş karşılama ("Tamam, teslim alma işleminiz...") yer alıyor. Bu istek, yanıt sırasına eklenir.
  5. Ajan, yanıt sırasını son kullanıcıya gönderir.
  6. Oturum, Oturumu Sonlandır sayfasına geçer.

Dialogflow'dan kart mesajları gönderme

Dialogflow, metin veya kart mesajlarıyla yanıt verebilir. Kart mesajıyla yanıt vermek için bunu fulfillment içinde özel yük olarak belirtin.

Aşağıdaki JSON'da, karşılama sırasında özel yük olarak kart mesajının nasıl gönderileceği gösterilmektedir:

json

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "cardsV2": [{
    "cardId": "createCardMessage",
    "card": {
      "header": {
        "title": "A card message!",
        "subtitle": "Sent from Dialogflow",
        "imageUrl": "https://developers.google.com/chat/images/chat-product-icon.png",
        "imageType": "CIRCLE"
      },
      "sections": [{ "widgets": [{ "buttonList": { "buttons": [{
        "text": "Read the docs!",
        "onClick": { "openLink": {
          "url": "https://developers.google.com/workspace/chat"
        }}
      }]}}]}]
    }
  }]}
}}}}

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: "ADDED_TO_SPACE_PAYLOAD" dizesi.
      • 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 CX 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 CX entegrasyonunu kullanırken Dialogflow aracısı ve Chat uygulaması aynı Google Cloud projesinde ayarlanmalıdır. Dialogflow ve Chat'i farklı Cloud projelerinde ayarlamanız gerekiyorsa bağlantıyı kolaylaştırmak için ara sunucu ayarlayabilirsiniz. Nasıl yapılacağını öğrenmek için GitHub'daki Dialogflow CX için Chat entegrasyonu örneğine bakın.

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:

  • Google Workspace eklenti günlükleri: Chat uygulamasıyla etkileşimleri de dahil olmak üzere, Chat uygulamasının davranışı hakkında ayrıntılı bilgi için günlükleri sorgulayın. Google Workspace eklentileri için sorgu günlükleri başlıklı makaleyi inceleyin.

  • Google Chat uygulaması hataları: Genel Chat uygulaması hata mesajları ve düzeltmeleri için Chat uygulaması hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.

  • Dialogflow CX Cloud Logging: Temsilciden gelen hatalar ve webhook etkileşimleri de dahil olmak üzere ayrıntılı yürütme günlüklerini yakalamak için Dialogflow aracısı ayarlarınızda Cloud Logging'in etkinleştirildiğinden emin olun. Bu özelliği nasıl etkinleştireceğinizi ve yapılandıracağınızı Dialogflow CX Agent Settings belgelerinden öğrenebilirsiniz. Bu günlükler, Google Cloud Console'daki Günlük Gezgini'nde görüntülenebilir.

  • Dialogflow CX Görüşme Geçmişi: Görüşme akışını anlamak ve sorunların nerede oluştuğunu belirlemek için geçmiş etkileşimleri inceleyin. Sohbet Geçmişi başlıklı makaleyi inceleyin.

  • Dialogflow ile ilgili genel sorun giderme: Daha kapsamlı Dialogflow sorunları için Dialogflow CX Sorun Giderme Kılavuzu'na bakın.

Temizleme

Bu eğitimde kullanılan kaynaklar için Google Cloud hesabınızdan ücret alınmasını önlemek istiyorsanız Cloud projesini silmenizi öneririz.

  1. Google Cloud Console'da 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 aracı tasarımında durum makinesi yaklaşımını benimser. Bu yaklaşım, görüşme üzerinde net ve açık bir kontrol, daha iyi bir son kullanıcı deneyimi ve daha iyi bir geliştirme iş akışı sağlar. Dialogflow Chat uygulaması oluştururken Dialogflow CX'i kullanmanızı öneririz.
  • Dialogflow ES, Dialogflow'u bir sohbet uygulamasıyla kullanmanın başka bir yoludur.

Eklenti olmayan sohbet uygulamaları: Dialogflow CX Google Chat uygulaması oluşturma

Google Workspace eklentisi olmayan bir Chat uygulaması oluşturuyorsanız veya bakımını yapıyorsanız aşağıdaki yapılandırma, yük ve etkinlik farklılıklarına dikkat edin.

Eklenti olmayan bir Dialogflow CX Chat uygulaması yapılandırma

Google Cloud Console'da Google Chat API'yi yapılandırırken:

  1. Bu Chat uygulamasını Google Workspace eklentisi olarak oluştur seçeneğinin işaretini kaldırın. Onaylamanızı isteyen bir iletişim kutusu açılır. İletişim kutusunda Devre dışı bırak'ı tıklayın.
  2. Kalan Dialogflow CX yapılandırma ayarlarını tamamlayın ve Kaydet'i tıklayın.

Eklenti olmayan bir Dialogflow CX Chat uygulamasından kart mesajları gönderme

Eklenti olmayan bir Chat uygulamasında, karşılamadaki Dialogflow özel yükünde en üst düzey bir cardsV2 nesnesi belirtin:

json

{
  "cardsV2": [{
    "cardId": "createCardMessage",
    "card": {
      "header": {
        "title": "A card message!",
        "subtitle": "Sent from Dialogflow",
        "imageUrl": "https://developers.google.com/chat/images/chat-product-icon.png",
        "imageType": "CIRCLE"
      },
      "sections": [
        {
          "widgets": [
            {
              "buttonList": {
                "buttons": [
                  {
                    "text": "Read the docs!",
                    "onClick": {
                      "openLink": {
                        "url": "https://developers.google.com/workspace/chat"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

Eklenti olmayan Dialogflow CX Chat uygulamalarıyla ilgili sınırlamalar ve dikkat edilmesi gereken noktalar

  • Sohbet etkileşimi etkinlikleri ile ilgili destek ve dikkat edilmesi gereken noktalar şunlardır:
    • Aşağıdaki etkileşimli etkinlik türleri desteklenir:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • MESSAGE veya ADDED_TO_SPACE etkinliklerinde, Dialogflow aracısına gönderilen sorgu girişi, sohbet mesajındaki argumentText alanının değerine karşılık gelir. Mesajda eğik çizgi komutu varsa bunun yerine text alanının değeri kullanılır.
    • CARD_CLICKED etkinliklerinde, Dialogflow aracısına gönderilen sorgu girişi CARD_CLICKED.functionName olarak biçimlendirilir. Burada functionName, etkileşimli kart öğesine (ör. düğme) eklenen Action nesnesinin function alanının değerine karşılık gelir.
    • Her Chat etkileşimi etkinliğinin tam JSON yükü, sorgu parametresindeki özel bir yük olarak Dialogflow'a gönderilir ve WebhookRequest.payload alanının değeri sorgulanarak Dialogflow webhook'u ile erişilebilir.
  • Eklenti olmayan sohbet uygulamalarında eğik çizgi komutlarına yanıt verme ve kartlardan veya iletişim kutularından veri alma ile ilgili dikkat edilmesi gereken noktalar:
    • Eklenti olmayan Dialogflow Chat uygulamaları, eğik çizgi komutu içeren bir mesaj aldığında sorgu girişinde yalnızca text alanının değeri bulunur. text alanı, eğik çizgi komutunun adıyla (örneğin, /command) başlar. Bu komutu, Dialogflow aracısının bir eğik çizgi komutunu algılama amacını yapılandırmak için kullanabilirsiniz.
    • Dialogflow aracısından bir iletişim kutusu göstermek için eklenti olmayan bir Chat uygulamasında, DIALOG eylem yanıtı içeren bir mesajı içeren tek bir özel JSON yüküyle yanıt verin.
    • Eklenti olmayan bir Chat uygulamasındaki kartlardan girilen verileri işlemek için Dialogflow aracısı, CARD_CLICKED metniyle başlayan amaçları algılayabilir ve uygun işlemi içeren tek bir özel JSON yüküyle yanıt verebilir.