Bu sayfada, Dialogflow 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 rehberindeki adımları uygulayarak Dialogflow ES'i kullanarak bir Dialogflow ES Google Chat uygulaması oluşturabilirsiniz.
Örneğin, kullanıcıların araba kiralamasına yardımcı olan bir sohbet uygulamasını ele alalım. Bir kullanıcı, "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 kullanışlıdır. Doğal insan konuşması gerektiren görevler için Dialogflow Chat uygulaması gerekir. Önceden oluşturulmuş aracılar, hızlı bir şekilde başlamanı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
-
Şekil 1. Dialogflow Chat uygulaması için önceden oluşturulmuş bir aracı seçme. -
Ş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 ayarlama) ilgili sıralı bir dizi konu sayfası gösterilmekte ve bunları birbirine bağlayan mantık yapılandırılmaktadır. Görüşme bir simülatörde test edilir. -
Şekil 3. Google Cloud Console'daki Chat API yapılandırma sayfasında, yanıtları Dialogflow CX temsilcisini kullanarak işlemek üzere bir Chat uygulamasını yapılandırma. -
Ş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şturun ve dağıtın.
- Chat uygulamasını test edin.
Ön koşullar
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı.
- Faturalandırmanın etkin olduğu bir Google Cloud projesi. Mevcut bir projede faturalandırmanın etkinleştirilip etkinleştirilmediğini kontrol etmek için Projelerinizin faturalandırma durumunu doğrulama bölümüne bakın. Proje oluşturma ve faturalandırmayı ayarlama hakkında bilgi edinmek için Google Cloud projesi oluşturma bölümüne bakın.
Mimari
Aşağıdaki şemada, Dialogflow ile oluşturulan bir sohbet uygulamasının mimarisi gösterilmektedir:
Yukarıdaki diyagramda, bir Dialogflow Chat uygulamasıyla etkileşimde bulunan kullanıcının bilgi akışı şu şekildedir:
- Bir kullanıcı, bir Chat uygulamasına doğrudan mesaj yoluyla ya da bir Chat alanında mesaj gönderir.
- Google Cloud'da bulunan bir Dialogflow sanal aracısı, yanıt oluşturmak için mesajı alır ve işler.
- İ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.
- Dialogflow aracısı, Chat'teki Chat uygulama hizmetine yanıt gönderir.
- 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.Google Cloud Console'da Google Chat API ve Dialogflow API'yi etkinleştirin.
API'leri doğru Cloud projesinde etkinleştirdiğinizi onaylayın ve İleri'yi tıklayın.
Doğru API'leri etkinleştirdiğinizden emin olun ve Etkinleştir'i tıklayın.
Dialogflow CX aracısı 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 türdeki görüşmeleri işlemek üzere bir Dialogflow aracısı tasarlayıp oluşturursunuz.
Dialogflow temsilcisi, insan müşteri hizmetleri 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 aracısını oluşturmak için aşağıdaki adımları uygulayın:
Dialogflow CX konsolunda Dialogflow CX Konsolu'nu açın. Menü > Dialogflow CX'i tıklayın.
Bir Google Cloud projesi seçin. Projenizi bulmak için Tümü'nü tıklayıp aramanız gerekebilir.
Artık önceden oluşturulmuş bir temsilciyi seçebilir veya kendi temsilcinizi oluşturabilirsiniz. Temsilci özelleştirmeyi daha sonra ayrıntılı olarak incelemeyi tercih ederseniz önceden oluşturulmuş temsilcilerden birini seçin. Bu temsilciler, temsilcilerin neler yapabileceğini öğrenmek için de faydalıdır.
Önceden oluşturulmuş bir aracı seçmek için aşağıdaki adımları uygulayın:
- Önceden oluşturulmuş aracıları kullan'ı tıklayın.
Ö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ıkları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.
Ajan olarak içe aktar'ı tıklayın.
Kendi aracınızı oluşturmak için aşağıdaki adımları uygulayın:
- Create agent'ı (Ajan oluştur) tıklayın.
- Otomatik oluştur'u seçerek veri deposu aracısı oluşturun veya diğer türlerdeki aracıları 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ı makaleye bakın.
Temel temsilci ayarlarını yapılandırın:
- Görünen ad bölümüne bir görünen ad girin.
- Tercih ettiğiniz konumu seçin. Gelişmiş konum ayarlarını değiştirmek istiyorsanız Düzenle'yi tıklayın.
- Tercih ettiğiniz saat dilimini seçin.
- Aracınız için varsayılan dili seçin. Bir temsilcinin varsayılan dilini oluşturduktan sonra değiştiremezsiniz.
Oluştur'u tıklayın. Dialogflow CX, aracıyı oluşturmaya başlar ve ardından aracının varsayılan başlangıç akışını gösterir.
İsteğe bağlı olarak, temsilciyi ö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.
En iyi uygulama olarak, aracıyı şu şekilde test edin:
- Test agent'ı (Test aracısı) tıklayın.
- Test agent in environment (Ortamda aracı test et) seçeneğini belirleyin.
- Ortam bölümünde Taslak'ı seçin.
- Flow'da Default Start Flow'u (Varsayılan Akış Başlatma) seçin.
- Sayfada Başlangıç Sayfası'nı seçin.
- Temsilciyle konuşun oluşturma çubuğuna
Helloyazıp Enter tuşuna basın. Ajan, kendisini tanıtarak yanıt veriyor. - Örnek test görüşmesini yaparak testi tamamlayın.
Dialogflow CX aracısı oluşturulur. Dialogflow CX konsoluna dönün. Menü > Dialogflow CX'i tıklayın.
Aracılar bölümünde > Adı kopyala'yı tıklayın. Bu adı kaydedin. Chat uygulamasını yapılandırırken bu adı kullanırsınız.
Chat uygulaması oluşturma ve Dialogflow aracısına 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:
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.
Yapılandırma'yı tıklayın ve Chat uygulamasını ayarlayın:
- Uygulama adı alanına
Dialogflow Appyazın. - Avatar URL'si bölümüne
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.pnggirin. - Açıklama bölümüne
Responds to real human conversationgirin. - İşlevsellik bölümünde Alanlara ve grup görüşmelerine katılma'yı seçin.
- Bağlantı ayarları bölümünde Dialogflow'u seçin.
- Dialogflow ayarları bölümünde Dialogflow CX'i seçin.
- 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.
- Alanınızdaki belirli kişilerin ve grupların bu Chat uygulamasını kullanmasına izin verin ve e-posta adresinizi girin.
- Günlükler bölümünde Günlüğe kaydetme işlemine günlük hataları'nı seçin.
- Uygulama adı alanına
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.
Kendinizi güvenilir test kullanıcıları arasına eklerken sağladığınız Google Workspace hesabını kullanarak Google Chat'i açın.
- Yeni sohbet'i tıklayın.
- 1 veya daha fazla kişi ekle alanına Chat uygulamanızın adını yazın.
Sonuçlardan Chat uygulamanızı seçin. Doğrudan mesaj açılır.
Uygulamayla olan yeni doğrudan mesajda
Helloyazıpentertuşuna basın.Dialogflow Chat uygulaması, kendisini tanıtarak yanıt verir.
- Örnek test görüşmesini 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 görüşmeyi yapın. Açıklama, Dialogflow CX aracısının 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ş aracıya dayanmaktadır.
| Dialog | Açıklama |
|---|---|
|
Son kullanıcı: Merhaba Temsilci: Merhaba! Ben sanal araba kiralama acentesi temsilcisiyim. Yeni bir araç kiralama rezervasyonu başlatmanıza yardımcı olabilirim. Bugün size nasıl yardımcı olabilirim? |
|
|
Son kullanıcı: Araba kiralamak istiyorum. Temsilci: Aracı nereden teslim almak istersiniz? |
|
|
Son kullanıcı: Las Vegas Temsilci: Tamam, teslim alma işlemi Las Vegas'ta yapılacak. Temsilci: Teslimat konumunuz, teslim alma konumunuzdan farklı mı? |
|
|
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? |
|
|
Son kullanıcı: Arabayı 5 Mart'ta öğlen teslim almak istiyorum. Temsilci: Aracı hangi tarih ve saatte bırakmak istersiniz? |
|
|
Son kullanıcı: 15 Mart saat 12:00 Temsilci: Teyit etmek için: Aracı Las Vegas'tan 2024-03-05 12:00:00 tarihinde alıp Los Angeles'ta 2024-03-15 12:00:00 tarihinde teslim edeceksiniz. Doğru mu? |
|
|
Son kullanıcı: Evet, teşekkür ederim. Temsilci: Harika! Şimdi bir araç seçelim. Temsilci: Ekonomik mi yoksa lüks bir araç mı istiyorsunuz? |
|
|
Son kullanıcı: Ekonomik lütfen. Temsilci: Cymbal Car mı yoksa Cymbal Truck mı istersiniz? |
|
|
Son kullanıcı: Cymbal Truck. Ajan: Cymbal Truck'ın günlük ücreti 50,33 ABD dolarıdır. 4 kişi kapasiteli olup AM/FM radyo içerir. Ödeme işlemine devam etmek istiyor musunuz? Son kullanıcı: Evet, lütfen. |
|
|
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 adresi nedir? Son kullanıcı: 1800 Amphibious Blvd. Mountain View, CA Temsilci: Fatura 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. |
|
Dialogflow'dan kart mesajları gönderme
Dialogflow, metin veya kart mesajlarıyla yanıt verebilir. Kart mesajıyla yanıt vermek için fulfillment içinde özel yük olarak belirtin.
Aşağıdaki JSON, karşılama sırasında kart mesajının nasıl özel yük olarak gönderileceğini gösterir:
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'
}
}
}
]
}
}
]
}
]
}
}]
}
Sınırlar ve dikkat edilmesi gereken noktalar
- Sohbet etkileşimi etkinlikleri
sınırlı destek sunar ve bazı hususları göz önünde bulundurmanız gerekir:
- Aşağıdaki etkileşim etkinlik türleri desteklenir:
MESSAGEADDED_TO_SPACECARD_CLICKED
MESSAGEveyaADDED_TO_SPACEetkinliklerinde, Dialogflow aracısına gönderilen sorgu girişi, sohbet mesajındakiargumentTextalanının değerine karşılık gelir. Mesajda eğik çizgi komutu varsa bunun yerinetextalanının değeri kullanılır.CARD_CLICKEDetkinliklerinde, Dialogflow aracısına gönderilen sorgu girişiCARD_CLICKED.functionNameolarak biçimlendirilir. BuradafunctionName, etkileşimli kart öğesine (ör. düğme) eklenen Action nesnesininfunctionalanı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.payloadalanının değeri sorgulanarak Dialogflow webhook'u ile erişilebilir.
- Aşağıdaki etkileşim etkinlik türleri desteklenir:
- Eğik çizgi komutlarına yanıt verme ve kartlardan veya iletişim kutularından veri alma ile ilgili dikkat edilmesi gereken noktalar:
- Dialogflow Chat uygulamaları, eğik çizgi komutu içeren bir mesaj aldığında sorgu girişi yalnızca
textalanının değerini içerir.textalanı, eğik çizgi komutunun adıyla (örneğin,/command) başlar. Bu adı, Dialogflow aracısının niyetini eğik çizgi komutunu algılayacak şekilde yapılandırmak için kullanabilirsiniz. - Dialogflow aracısının Chat interaction event JSON payload'u işlemesi gerekiyorsa sorgu parametresindeki özel yükü incelemek için Dialogflow webhook'u kullanabilir.
- Dialogflow aracısından iletişim kutusu göstermek için
DIALOGişlem yanıtı içeren bir mesajı içeren tek bir özel JSON yüküyle yanıt verin. - Kartlardan girilen verileri işlemek için Dialogflow aracısı,
CARD_CLICKEDmetniyle başlayan niyetleri algılayabilir ve uygun işlemi içeren tek bir özel JSON yüküyle yanıt verebilir.
- Dialogflow Chat uygulamaları, eğik çizgi komutu içeren bir mesaj aldığında sorgu girişi yalnızca
- 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.messageskaynağındacreateyöntemi her mesaj için bir kez ç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
Bir Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir hata oluştu" veya "İsteğiniz işlenemiyor" mesajı gösterilir. Bazen Chat kullanıcı arayüzünde hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç üretir. Örneğin, kart mesajı görünmeyebilir.
Chat kullanıcı arayüzünde hata mesajı gösterilmese de Chat uygulamaları için hata günlüğü kaydı etkinleştirildiğinde hataları düzeltmenize yardımcı olacak açıklayıcı hata mesajları ve günlük verileri kullanılabilir. Hataları görüntüleme, hata ayıklama ve düzeltme konusunda yardım için Google Chat hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.
Temizleme
Bu eğitimde kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek istiyorsanız Cloud projesini silmenizi öneririz.
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin. Şunu tıklayın: Menü > IAM & Admin > Kaynakları Yönetin.
- Proje listesinde, silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
- İletişim kutusunda proje kimliğini yazın ve ardından projeyi silmek için Kapat'ı tıklayın.
İlgili konular
- Dialogflow CX, Dialogflow aracı tasarımında durum makinesi yaklaşımını benimser. Bu yaklaşım, sohbet üzerinde net ve açık 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.
- Ajan oluşturma ve yapılandırma hakkında daha fazla bilgi edinmek için Dialogflow CX Ajanları başlıklı makaleyi inceleyin.
- Ajan oluşturma ve yapılandırma konusunda ayrıntılı bir açıklama için Dialogflow CX ajanı oluşturma başlıklı makaleyi inceleyin.
- Codelab: Dialogflow CX veri deposu aracısı oluşturma örneği için codelab'deki bilgi sohbeti uygulamasına bakın: Gemini ile Google Chat için uygulama geliştirme.
- Codelab: Dialogflow CX etkileşimli ajanı oluşturma örneği için codelab'deki geri bildirim Chat uygulamasına bakın: Gemini ile Google Chat için uygulama geliştirme.
- Dialogflow ES, Dialogflow'u bir sohbet uygulamasıyla kullanmanın başka bir yoludur.