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ılmaktadı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. 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 yalnızca bir örnektir. Dialogflow Chat uygulamaları her türlü etkileşimde faydalıdır. Doğal insan konuşması gerektiren görevler için 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
-
1. şekil. 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 araç için teslim alma ve iade yeri ayarlama) ilgili tematik sayfaların sıralı bir grubu gösterilmekte ve bunları birbirine bağlayan mantık yapılandırılmaktadır. İleti dizisi bir simülasyon ortamında test edilir. -
3. Şekil. 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. -
4. Şekil. 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 temsilcisi 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 Business veya Enterprise Google Workspace hesabı.
- Faturalandırmanın etkin olduğu bir Google Cloud projesi. Mevcut bir projede faturalandırmanın etkinleştirildiğ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 başlıklı makaleyi inceleyin.
Mimari
Aşağıdaki şemada, Dialogflow ile oluşturulan bir sohbet 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ı, Chat'te doğrudan mesaj veya Chat alanı üzerinden bir Chat uygulamasına 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 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 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 sohbet 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ü'nü tıklayıp aramanız gerekebilir.
Artık önceden oluşturulmuş bir aracı seçebilir veya kendi aracınızı 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 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.
Aracı olarak içe aktar'ı tıklayın.
Kendi aracınızı oluşturmak için aşağıdaki adımları uygulayın:
- Create agent'ı (Aracı 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.
Aracı oluşturma süreciyle ilgili ayrıntılı bir açıklama için Dialogflow CX aracısı oluşturma başlıklı makaleyi inceleyin.
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. 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 aracıyı özelleştirin. Aracı özelleştirme süreciyle ilgili ayrıntılı bir açıklama için Dialogflow CX aracısı oluşturma başlıklı makaleye bakın.
En iyi uygulama olarak aracıyı test edin:
- Test agent'ı (Test aracısı) tıklayın.
- Test agent in environment'ı (Ortamda test aracısı) seçin.
- Ortam bölümünde Taslak'ı seçin.
- Akış'ta Varsayılan Akış Başlatma'yı seçin.
- Sayfada Başlangıç Sayfası'nı seçin.
- Aracıyla konuş oluşturma çubuğuna
Hello
yazı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 aracısı oluşturduktan sonra, bunu 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 App
yazın. - Avatar URL'si bölümüne
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
girin. - Açıklama bölümüne
Responds to real human conversation
girin. - İş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 (Temsilci veya Ortam kaynak adı) bölümünde, Dialogflow CX aracısı oluşturma bölümünün sonunda kopyaladığınız Dialogflow CX temsilci 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ü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
Hello
yazıpenter
tuş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ı: 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. Bırakma işleminiz 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: Onaylamak 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ü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ı. 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 için açık adres 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ı olacak. 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 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ı destek sunar ve bazı hususları dikkate almanız gerekir:
- Aşağıdaki etkileşimli etkinlik türleri desteklenir:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
MESSAGE
veyaADDED_TO_SPACE
etkinliklerinde, Dialogflow aracısına gönderilen sorgu girişi, Chat mesajındakiargumentText
alanının değerine karşılık gelir. Mesajda eğik çizgi komutu varsa bunun yerinetext
alanının değeri kullanılır.CARD_CLICKED
etkinliklerinde, Dialogflow aracısına gönderilen sorgu girişiCARD_CLICKED.functionName
olarak biçimlendirilir. BuradafunctionName
, etkileşimli kart öğesine (ör. düğme) eklenen Action nesnesininfunction
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.
- 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
text
alanının değerini içerir.text
alanı, eğik çizgi komutunun adıyla (ör./command
) başlar. Bu adı, Dialogflow aracısının bir eğik çizgi komutunu algılaması için niyetini yapılandırmak üzere 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
DIALOG
iş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_CLICKED
metniyle başlayan amaçları 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.messages
kaynağındacreate
yö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 örneği için Chat entegrasyonu başlıklı makaleye bakın.
Sorun giderme
Bir Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir hata oluştu" mesajı gösterilir. veya "İsteğiniz işlenemiyor." 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 ve Yönetici > 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.
- Aracı oluşturma ve yapılandırma hakkında daha fazla bilgi edinmek için Dialogflow CX Aracıları başlıklı makaleyi inceleyin.
- Aracı oluşturma ve yapılandırma konusunda size yol gösterecek ayrıntılı bir açıklama için Dialogflow CX aracısı oluşturma başlıklı makaleyi inceleyin.
- Build apps for Google Chat with Gemini (Gemini ile Google Chat için uygulama geliştirme) codelab'indeki bilgi Chat uygulamasına bakın. Codelab: Dialogflow CX veri deposu aracısı oluşturma örneği için
- Build apps for Google Chat with Gemini (Gemini ile Google Chat uygulamaları oluşturma) adlı codelab'deki geri bildirim Chat uygulamasına bakın. Codelab: Dialogflow CX etkileşimli aracısı oluşturma örneği için
- Dialogflow ES, Dialogflow'u bir sohbet uygulamasıyla kullanmanın başka bir yoludur.