Bu sayfada, Dialogflow'u kullanarak doğal dili hem anlayabilecek hem de yanıt verebilecek 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ılmaktadır. Dialogflow ES Google Chat rehberindeki talimatları uygulayarak Dialogflow ES'i kullanarak da Dialogflow ES Google Chat uygulaması derleyebilirsiniz.
Örneğin, kullanıcıların araç kiralamasına yardımcı olan bir Chat uygulamasını düşünün. Bir kullanıcı "Araba kiralamak istiyorum" yazabilir. Chat uygulaması, "Aracı nereden almak istersiniz?" gibi bir soruyla yanıt verebilir. Bu da, kullanıcıyla insan benzeri bir konuşma başlatır. Bu konuşmada Chat uygulaması, araç kiralama rezervasyonu sırasında hem insan konuşmasını anlayıp hem de insan konuşmasına yanıt verir.
Bu sadece bir örnektir. Dialogflow Chat uygulamaları her türlü etkileşimde kullanışlıdır. Doğal insan konuşması gerekiyorsa bir Dialogflow Chat uygulaması gerektirir. Önceden oluşturulmuş aracılar hızlı başlangıç yapmanıza yardımcı olur ve Dialogflow'un neler yapabileceğini gösterir. Örneğin:
- Uçuş rezervasyonu
- Doktor randevuları planlayın
- Adrese yemek siparişi verme
- Perakende ürün kataloğuyla ilgili soruları yanıtlayın (ör. ürünlerin başka renklerde olup olmadığı)
-
Şekil 2. Aracının mantığının ve yapılandırmasının amaçlandığı gibi çalıştığından emin olmak için aracıyı Dialogflow CX'te test etme. Diyagram, bir görüşmedeki belirli adımlarla (ör. kiralık bir araba için teslim alma ve iade konumu belirlemek) ilgili olarak birbirini takip eden bir dizi konu sayfasını gösterir ve bunları birbirine bağlayan mantığı yapılandırır. Sohbet, bir simülasyon aracında test edilir. -
Şekil 3. Google Cloud Console'daki Chat API yapılandırma sayfasında Dialogflow CX aracısını kullanarak yanıtları işlemek için Chat uygulamasını yapılandırma. -
Şekil 4. Google Chat'te Dialogflow Chat uygulamasını kullanarak kiralık araç rezervasyonu yapma hakkında bir görüşme yapıyorum.
Hedefler
- Ortamınızı ayarlayın.
- Dialogflow CX aracısı oluşturup 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
- Google Chat'e erişimi olan bir Google Workspace hesabı.
- Bir Google Cloud projesi.
- Cloud projeniz için faturalandırmayı etkinleştirdiğinizden emin olun. Projelerinizin faturalandırma durumunu nasıl doğrulayacağınızı öğrenin.
Mimari
Aşağıdaki şemada Dialogflow ile oluşturulan bir Chat uygulamasının mimarisi gösterilmektedir:
Önceki şemada, Dialogflow Chat uygulamasıyla etkileşimde bulunan bir kullanıcı aşağıdaki bilgi akışına sahiptir:
- Kullanıcı, Chat'teki bir Chat uygulamasına doğrudan mesaj veya bir Chat alanında mesaj gönderir.
- Google Cloud'da bulunan bir Dialogflow sanal aracısı, mesajı alır ve yanıt oluşturmak için işler.
- Dialogflow aracısı isteğe bağlı olarak bir Dialogflow webhook kullanarak proje yönetimi sistemi veya bilet işlemleri aracı gibi harici üçüncü taraf hizmetleriyle etkileşim kurabilir.
- Dialogflow aracısı, Chat'te Chat uygulaması 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 konsolunda Google Chat API ve Dialogflow API'yi etkinleştirin.
API'leri doğru Cloud projesinde etkinleştirdiğinizi onaylayın ve ardından Sonraki'yi tıklayın.
Doğru API'leri etkinleştirdiğinizden emin olun ve ardından 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 gerçekleştiren bir sanal aracıdır. İnsan dilinin nüanslarını anlayan doğal bir dil anlama modülü. Dialogflow, bir görüşme sırasındaki son kullanıcı metnini, uygulamalarınızın ve hizmetlerinizin anlayabileceği yapılandırılmış verilere çevirir. Sisteminiz için gereken ileti dizilerinin türlerini işlemek için bir Dialogflow aracısı tasarlayıp derlersiniz.
Dialogflow aracısı insan çağrı merkezi temsilcisi gibidir. İkisini de beklenen konuşma senaryolarını ele alacak şekilde eğitirsiniz ve eğitiminizin aşırı derecede açık olmasına gerek yoktur.
Dialogflow CX aracısını aşağıdaki gibi oluşturabilirsiniz:
Dialogflow CX konsolunda Dialogflow CX Console'u 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 ardından projeyi aramanız gerekebilir.
Artık önceden oluşturulmuş bir aracı seçebilir veya kendi aracınızı oluşturabilirsiniz. Aracı özelleştirmesini daha sonra ayrıntılı olarak incelemek isterseniz önceden oluşturulmuş aracılardan birini seçin. Bu aracılar, aracıların 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.
Aracılar, aracının kullandığı özellik sayısına ve sohbet mantığının gelişmiş olmasına göre "yeni başlayan", "orta" ve "İleri düzey" şeklinde derecelendirilir. Ara veya gelişmiş bir aracı seçmek için Google Cloud konsolunda özellikleri ve API'leri etkinleştirmek de dahil olmak üzere aracıya özel özelleştirmeler ve ayarlar gerekebilir.
Aracı olarak içe aktar'ı tıklayın.
Kendi temsilcinizi oluşturmak için aşağıdaki adımları uygulayın:
- Temsilci oluştur'u tıklayın.
- Veri deposu aracısı oluşturmak için Otomatik oluştur'u seçin veya başka türlerde aracılar oluşturmak için Kendinizinkini oluşturun'u seçin.
Aracı oluşturma sürecinin ayrıntılı bir adım adım açıklamalı kılavuzu için Dialogflow CX aracısı oluşturma başlıklı makaleyi inceleyin.
Temel aracı ayarlarını yapılandırın:
- Görünen ad alanına 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. Temsilciler oluşturulduktan sonra varsayılan dili 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 aracıyı özelleştirin. Aracı özelleştirme işlemiyle ilgili ayrıntılı bir adım adım açıklamalı kılavuz için Dialogflow CX aracısı oluşturma başlıklı makaleyi inceleyin.
En iyi uygulama olarak temsilciyi test edin:
- Test aracısı'nı tıklayın.
- Aracıyı ortamda test et'i seçin.
- Ortam'da Taslak'ı seçin.
- Akışta, Varsayılan Başlangıç Akışı'nı seçin.
- Sayfada Başlangıç Sayfası'nı seçin.
- Temsilciyle konuş oluşturma çubuğuna
Hello
yazıp Enter'a basın. Temsilci kendisini tanıtarak yanıt verir. - Örnek test görüşmesini başlatarak 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 kullandığınız bu adı kaydedin.
Chat uygulaması oluşturma ve Dialogflow aracısına bağlama
Dialogflow CX aracısı oluşturduktan sonra bunu Chat uygulamasına dönüştürmek için aşağıdaki adımları uygulayın:
Google Cloud konsolunda Google Chat API'ye gidin. "Google Chat API" araması yapıp Google Chat API'yi ve 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 App
yazın. - Avatar URL'sine
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
yazın. - Açıklama alanına
Responds to real human conversation
yazın. - İşlevler bölümünde, Bire bir mesaj al ve Alanlara ve grup görüşmelerine katıl'ı seçin.
- Bağlantı ayarları bölümünde Dialogflow'u seçin.
- Dialogflow ayarları bölümünde Dialogflow CX'i seçin.
- Aracı veya Ortam kaynağı adı alanına, Dialogflow CX aracısı oluşturma bölümünün sonunda kopyaladığınız Dialogflow CX aracısı adını yapıştırın.
- Bu Chat uygulamasını, alanınızdaki belirli kullanıcılar ve grupların kullanımına sunun ve e-posta adresinizi girin.
- Günlükler bölümünde, Hataları günlüğe kaydetme'yi seçin.
- Uygulama adı alanına
Kaydet'i tıklayın.
Chat uygulaması, Chat'te mesaj almaya ve mesajları yanıtlamaya hazırdır.
Chat uygulamasını test etme
Dialogflow CX Chat uygulamasını Google Chat'te mesajlaşma yoluyla test edin.
Kendinizi Güvenilir Test Kullanıcısı olarak 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çlar arasından Chat uygulamanızı seçin. Bir doğrudan mesaj açılır.
Uygulamayı içeren yeni doğrudan mesajda
Hello
yazıpenter
tuşuna basın.Dialogflow Chat uygulaması kendini tanıtarak yanıt verir.
- Örnek test görüşmesini tamamlayarak 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 konuşmayı 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 ürettiğini anlamanıza yardımcı olur. Bu örnek görüşme, Seyahat: araç kiralama adlı önceden oluşturulmuş aracıya dayanır.
Dialog | Açıklama |
---|---|
Son kullanıcı: Merhaba Temsilci: Merhaba, Sanal araç kiralama 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 istiyorsunuz? |
|
Son kullanıcı: Las Vegas Temsilci: Tamam, siparişin Las Vegas'ta olacak. Temsilci: Teslim ettiğiniz yer, teslim alma konumunuzdan farklı mı? |
|
Son kullanıcı: Evet. Arabayı Los Angeles'a bırakıyorum. Temsilci: Tamam, kargonuz Los Angeles'ta olacak. Temsilci: Aracı hangi tarih ve saatte teslim almak istiyorsunuz? |
|
Son kullanıcı: Arabayı 5 Mart günü öğlen teslim almak istiyorum. Temsilci: Aracı hangi tarih ve saatte teslim etmek istiyorsunuz? |
|
Son kullanıcı: 15 Mart öğlen. Temsilci: Onaylamak amacıyla soruyorum: Aracı 05.03.2024 12:00:00 günü Los Angeles'ta alacak ve 15.03.2024 12:00:00 Senin için uygun mu? |
|
Son kullanıcı: Evet, teşekkürler. Temsilci: Harika. Şimdi bir araç seçelim. Temsilci: Ekonomik mi yoksa lüks araç mı istersiniz? |
|
Son kullanıcı: Ekonomi lütfen. Temsilci: Cymbal Araba mı yoksa Cymbal Kamyon mu? |
|
Son kullanıcı: Cymbal Truck. Temsilci: Cymbal Kamyon'un günlük fiyatı 50,33 ABD dolarıdır. 4 kişiliktir ve AM/FM radyoyla birlikte gelir. Ödeme işlemine devam etmek istiyor musunuz? Son kullanıcı: Evet. |
|
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ı: Cansu Temsilci: Fatura açık adresi nedir? Son kullanıcı: 1800 Amphibious Blvd. Mountain View, CA Temsilci: Faturalandırma için belirtilen posta kodu nedir? Son kullanıcı: 94045 Temsilci: Cymbal Car'ı 05.03.2024 12:00:00 tarihinde Las Vegas'tan alacak ve 15.03.2024 12:00:00'da bırakacaksınız. Bu seyahatin toplamı 175,38 ABD doları olacak. Müşteri temsilcisi: Bizimle kiraladığı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 bunu sipariş karşılama bölümünde özel yük olarak belirtin.
Aşağıdaki JSON'de, bir kart mesajının özel yük olarak nasıl gönderileceği gösterilmektedir:
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ırlamalar ve dikkat edilmesi gereken noktalar
- Sohbet etkileşimi etkinlikleri için sınırlı destek sunulur ve dikkat edilmesi gereken bazı noktalar vardır:
- Aşağıdaki etkileşim etkinliği türleri desteklenir:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
MESSAGE
veyaADDED_TO_SPACE
etkinlikleri için Dialogflow aracısına gönderilen sorgu girişi, Chat mesajındakiargumentText
alanının değerine karşılık gelir. Mesajda bir eğik çizgi komutu varsa bunun yerinetext
alanındaki değer kullanılır.CARD_CLICKED
etkinlikleri için Dialogflow aracısına gönderilen sorgu girişiCARD_CLICKED.functionName
olarak biçimlendirilir. BuradafunctionName
, etkileşimli kart öğesine (bir düğme gibi) bağlı Action nesnesininfunction
alanındaki değere karşılık gelir.- Her Chat etkileşimi etkinliğinin tam JSON yükü, sorgu parametresinde özel yük olarak Dialogflow'a gönderilir ve
WebhookRequest.payload
alanının değerini sorgulayarak Dialogflow webhook ile erişilebilir.
- Aşağıdaki etkileşim etkinliği türleri desteklenir:
- Eğik çizgi komutlarına yanıt verme ve kart veya iletişim kutularından veri alma konusunda dikkate alınması gereken noktalar:
- Dialogflow Chat uygulamaları eğik çizgi komutu içeren bir mesaj aldığında sorgu girişi yalnızca
text
alanındaki değeri içerir.text
alanı, eğik çizgi komutunun adıyla (örneğin,/command
) başlar. Bu komutu, Dialogflow aracısının eğik çizgi komutunu algılayacak niyetini yapılandırmak için kullanabilirsiniz. - Dialogflow aracısının Chat etkileşimi etkinliği JSON yükünü işlemesi gerekiyorsa bunu, sorgu parametresindeki özel yükü incelemek üzere bir Dialogflow webhook kullanarak yapabilir.
- Dialogflow Aracısından bir iletişim kutusu görüntülemek için
DIALOG
işlem yanıtı içeren bir mesajın yer aldığı tek bir özel JSON yüküyle yanıt verin. - Dialogflow aracısı, kartlardan girilen verileri işlemek için
CARD_CLICKED
metniyle başlayan amaçları algılayabilir ve uygun eylemi 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ı 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.messages
kaynağındacreate
yöntemini her mesaj için bir kez çağırarak 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 oluşturabilirsiniz. Bunu nasıl yapacağınızı öğrenmek için GitHub'daki bu Dialogflow CX için sohbet entegrasyonu örneğini inceleyin.
Sorun giderme
Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir sorun oluştu" mesajı gösterilir. veya "İsteğiniz işlenemiyor." Bazı durumlarda Chat kullanıcı arayüzünde herhangi bir hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç verir. Örneğin, kart mesajı görünmeyebilir.
Chat kullanıcı arayüzünde hata mesajı görüntülenmese de Chat uygulamaları için hata günlük kaydı etkinleştirildiğinde hataları düzeltmenize yardımcı olmak amacıyla açıklayıcı hata mesajları ve günlük verileri sunulur. Hataları görüntüleme, hata ayıklama ve düzeltme konusunda yardım almak için Google Chat hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.
Temizleme
Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız Cloud projesini silmenizi öneririz.
- Google Cloud konsolunda Kaynakları yönetin sayfasına gidin. Menü > IAM ve Yönetici > Kaynakları Yönet'i tıklayın.
- Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil simgesini tıklayın.
- İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
İlgili konular
- Dialogflow CX, Dialogflow aracısı tasarımına bir durum makinesi yaklaşımı benimser. Bu yaklaşım, bir görüşme üzerinde net ve açık kontrol sahibi olmanızı, daha iyi bir son kullanıcı deneyimi ve daha iyi bir geliştirme iş akışı sağlar. Dialogflow Chat uygulaması derlerken Dialogflow CX kullanmanızı öneririz.
- Aracı oluşturma ve yapılandırma hakkında daha fazla bilgi edinmek için Dialogflow CX Aracıları bölümüne bakın.
- Aracıları nasıl oluşturacağınızı ve yapılandıracağınızı açıklayan adım adım açıklamalı ayrıntılı bir kılavuz için Dialogflow CX aracısı oluşturma bölümüne bakın.
- Gemini ile Google Chat için uygulama geliştirme başlıklı makaleye göz atın. Codelab: Dialogflow CX veri deposu aracısı derlemeyle ilgili örnek için codelab'deki bilgi Chat uygulamasını inceleyin.
- Gemini ile Google Chat için uygulama geliştirme başlıklı makaleye göz atın. Codelab: Dialogflow CX sohbet aracısı derlemeyle ilgili örnek için codelab'deki geri bildirim Chat uygulamasına göz atın.
- Dialogflow ES, Dialogflow'u Chat uygulamasıyla kullanmanın bir başka yoludur.