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 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 sohbet uygulamasını ele alalım. Bir kullanıcı, "Araba kiralamak istiyorum" yazabilir. Chat uygulaması, "Aracı nereden teslim almak istersiniz?" gibi bir soruyla yanıt verebilir. Bu soru, kullanıcıyla insan benzeri bir sohbet başlatır. Chat uygulaması, araç kiralama rezervasyonu sırasında hem anlar hem de insan konuşmasıyla yanıt verir.
Bu yalnızca 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 randevuları 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 iadenin yapılacağı konum 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, simülatörde test edilir. -
Şekil 3. Google Cloud Console'daki Chat API yapılandırma sayfasında, yanıtları işlemek için Chat uygulamasını Dialogflow CX temsilcisini kullanacak şekilde 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 Chat uygulamasının mimarisi gösterilmektedir:
Önceki şemada, 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şime geçebilir.
- 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 görüşme türlerini işlemek üzere bir Dialogflow aracısı 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 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ü'yü tıklayıp projeyi 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ına ve görüşme mantığının karmaşıklığına göre başlangıç, orta veya ileri seviye olarak derecelendirilir. Orta veya ileri düzey bir aracı seçmek, Google Cloud Console'da özelliklerin ve API'lerin etkinleştirilmesi de dahil olmak üzere araca özel özelleştirmeler ve ayarlar gerektirebilir.
Temsilci 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 bir 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ürecinin ayrıntılı açıklaması için Dialogflow CX ajanı oluşturma başlıklı makaleye bakın.
Temel aracı 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. Oluşturduktan sonra bir temsilcinin varsayılan dilini 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ı test edin:
- Test agent'ı (Test aracısı) tıklayın.
- Test agent in environment'ı (Ortamda aracı test et) seçin.
- Ortam bölümünde Taslak'ı seçin.
- Akış'ta Varsayılan Akış Başlatma'yı seçin.
- Sayfa bölümünde Başlangıç Sayfası'nı seçin.
- Temsilciyle konuşun oluşturma çubuğuna
Helloyazıp Enter tuşuna basın. Temsilci, 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. Chat uygulamasını yapılandırırken bu adı kullanacağınız için kaydedin.
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ı kullanabilmesini sağlayın ve e-posta adresinizi girin.
- Günlükler bölümünde Günlük hatalarını Logging'e seçeneğini belirleyin.
- 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üşmedeki her adımda 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ı: Araç 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. Bırakma yeriniz Los Angeles olacak. 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: 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 Doğru mu? |
|
|
Son kullanıcı: Evet, teşekkürler. Temsilci: Harika! Şimdi bir araç seçelim. Temsilci: Ekonomik mi yoksa lüks bir araç mı istiyorsunuz? |
|
|
Son kullanıcı: Lütfen ekonomik seçeneği kullanın. Temsilci: Cymbal Car mı yoksa Cymbal Truck mı istersiniz? |
|
|
Son kullanıcı: Cymbal Truck. Temsilci: 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: 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 seyahatin 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 özel bir yük olarak kart mesajının nasıl 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ı desteklenir ve bazı hususlara dikkat edilmesi gerekir:
- Aşağıdaki etkileşimli 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 parametresinde ö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şimli 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 başlar (örneğin,/command). 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 bir iletişim kutusu göstermek için
DIALOGiçeren bir mesaj içeren tek bir özel JSON yüküyle yanıt verin. İşlem yanıtı. - 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 eşzamanlı 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. - Dialogflow CX'in Chat ile 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, hataları 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 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 Gemini ile Google Chat için uygulama geliştirme başlıklı bilgi sohbeti uygulamasına bakın.
- 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 Chat uygulamasıyla kullanmanın başka bir yoludur.