Dialogflow CX oluşturma araçlarını ve veri depolarını kullanarak bilinçli karar alma

1. Genel Bakış

Son Güncelleme: 10.10.2023

Neler oluşturacaksınız?

Bu codelab'de, kan bağışı yapmak isteyen kişilere yardımcı olacak ve gerekli uygunluk koşullarını karşıladıklarından emin olacak bir sanal aracı oluşturmak, dağıtmak ve yapılandırmak için Vertex AI Conversation ve Dialogflow CX'i kullanacaksınız. Aracı, Dialogflow CX yerine getirme işlemi sırasında herkese açık gerçek verileri ve Google'ın üretken büyük dil modellerini (LLM) kullanır.

Hangi özellikleri kullanacaksınız?

Codelab'i tamamlamak için üç farklı özelliği yapılandırıp kullanacaksınız:

Veri deposu aracıları

Vertex AI Conversation (Vertex AI Sohbet) özelliği, veri deposu aracısı adı verilen özel bir Dialogflow aracısı oluşturur.

Bu özellik ile web sitesi URL'si, yapılandırılmış veriler veya yapılandırılmamış veriler (veri depoları) sağlarsınız. Ardından Google, içeriğinizi ayrıştırıp veri depoları ve büyük dil modelleri tarafından desteklenen bir sanal aracı oluşturur. Böylece müşterileriniz ve son kullanıcılarınız temsilciyle görüşüp içerikle ilgili sorular sorabilir. Bu aracı türü hakkında bilgi edinmek için Vertex AI Sohbet tanıtımını inceleyin.

Jeneratörler

Oluşturma özelliği, geliştiricilerin çalışma zamanında aracı yanıtları oluşturmak için Google'ın en yeni üretken büyük dil modellerini (LLM'ler) ve özel istemleri kullanmalarına olanak tanıyan bir Dialogflow CX özelliğidir. Oluşturma aracı, eğitildiği büyük metin veri kümesinden alınan genel bilgileri veya görüşmenin bağlamını içeren genel yanıtları işleyebilir.

Oluşturulan yedek

Üretken yedek özelliği, son kullanıcı girişi form doldurmayla ilgili bir amaç veya parametreyle eşleşmediğinde sanal aracı yanıtları oluşturmak için Google'ın en son üretken büyük dil modellerini (LLM) kullanır. Bu özellik, LLM'ye nasıl yanıt vereceğini bildiren bir metin istemiyle yapılandırılabilir. Önceden tanımlanmış bir metin istemi kullanabilir veya kendi istemlerinizi ekleyebilirsiniz. Akışlarda, sayfalarda veya parametre doldurma sırasında kullanılan eşleşmez etkinlik işleyicilerde üretken yedeği etkinleştirebilirsiniz. Eşleşmeyen bir etkinlik için üretken yedek etkinleştirildiğinde bu etkinlik her tetiklendiğinde Dialogflow, kullanıcıya söylenecek oluşturulmuş bir yanıt üretmeye çalışır. Yanıt oluşturulamazsa bunun yerine normal reçete aracı yanıtı verilir. Üretken yedek hakkında daha fazla bilgi edinmek istiyorsanız bu codelab'i deneyin.

Neler öğreneceksiniz?

  • Yapılandırılmamış verilerden veri deposu aracısı oluşturma
  • Son kullanıcıların, veri deposuna eklenen içerik hakkında sanal bir temsilciyle iletişim kurmasına izin vermek için bilgi işleyicileri kullanma.
  • Oluşturma aracı metin istemini yapılandırma ve yerleşik oluşturma aracı istemi yer tutucularını kullanarak bağlama dayalı hale getirme.
  • Kelimelerin oluşturucu istem yer tutucuları olarak nasıl işaretleneceği ve daha sonra yürütme sırasında değerlerini kullanmak için istek karşılamadaki oturum parametreleriyle ilişkilendirme.
  • Büyük bir metin veri kümesinden alınan bilgileri ve mevcut konuşmanın bağlamını içeren yanıtları işleyecek bir oluşturucunun yapılandırılması.
  • Oluşturucuları kullanarak resmi bir e-posta oluşturma
  • Temsilcinizi test etme ve oluşturulan yanıtları tetikleyen müşteri sorularını simüle etme

Gerekenler

  • Bir Google Cloud projesi
  • Chrome gibi bir tarayıcı

2. API'leri etkinleştir

Vertex AI Conversation'da veri depolama aracısı oluşturabilmeniz için önce Dialogflow'u, Vertex AI Arama ve Conversation API'lerini etkinleştirmeniz gerekir.

Dialogflow API'yi etkinleştirmek için şu adımları uygulayın:

  1. Tarayıcınızda Dialogflow API Hizmet Ayrıntıları sayfasına gidin.
  2. Google Cloud projenizde Dialogflow API'yi etkinleştirmek için Etkinleştir düğmesini tıklayın.

Vertex AI Arama ve Sohbet API'sini etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Google Cloud konsolunda Vertex AI Arama ve Sohbet konsoluna gidin.
  2. Hizmet Şartları'nı okuyup kabul edin, ardından Devam et ve API'yi etkinleştir'i tıklayın.

3. Uygulamanız için yeni bir sohbet uygulaması ve veri deposu oluşturun

Şimdi, sanal aracınız için yeni bir sohbet uygulaması oluşturup bu uygulamayı bir veri kaynağıyla yapılandıracaksınız. Oluşturacağınız temsilcinin amacı, kan almaya uygunlukla ilgili soruları olan müşterilere yardımcı olmaktır. Bilgi kaynağı olarak Avustralya Kızıl Haç Yaşam Kanı'nı kullanacaksınız ve kan uygunluk web sitesindeki yapılandırılmamış verileri temel alan bir veri deposu oluşturacaksınız.

  1. Vertex AI Conversation'da yeni bir sohbet uygulaması oluşturmak için:
    1. Vertex AI Conversation Console'a (Vertex AI Sohbet konsoluna) gidip konsolun üst kısmındaki +New app'i (+Yeni uygulama) tıklayın.
    2. Dialogflow CX konsoluna gidin, +Yeni aracı oluştur'u ve ardından Otomatik oluştur seçeneğini belirleyin. Vertex AI Conversation Console'da aşağıdaki adıma yönlendirilirsiniz.
  2. Vertex AI Conversation Console'da, oluşturmak istediğiniz uygulama türü olarak Chat'i seçin.
  3. Save a Life tutarında bir Şirket adı girin. Bu parametre, temsilcinizin temsil ettiği şirketi ve aracınızın kapsamını tanımlamak için kullanılır.
  4. Aracı adı olarak Blood Donation Agent girin.
  5. Devam'ı tıklayın.
  6. Yeni veri deposu oluştur'u tıklayın.
  7. Veri deponuzun veri kaynağı olarak Cloud Storage'ı seçin.
  8. Bu codelab için örnek verileri içeren aşağıdaki Google Cloud Storage klasörünü belirtin. gs:// önekinin gerekli olmadığını unutmayın:
    cloud-samples-data/dialogflow-cx/arc-lifeblood
    
  9. İçe aktardığınız veri türü olarak Yapılandırılmamış dokümanlar'ı seçin.
  10. Devam'ı tıklayın.
  11. Australian Red Cross Lifeblood Unstructured tutarında bir Veri deposu adı belirtin.
  12. Veri deposunu oluşturmak için Oluştur'u tıklayın.
  13. Veri depoları listesinde yeni oluşturulan Australian Red Cross Lifeblood Unstructured öğesini seçin.
  14. Sohbet uygulamanızı oluşturmak için Oluştur'u tıklayın.

Tebrikler! Bağışta bulunma ihtimali olan insanlara yardım etmeye hazır, bilgi destekli sohbet uygulamanızı oluşturmayı tamamladınız. Kutlamak için bir dakikanızı ayırın.

Ancak aracıyı kullanıcılarınız için erişilebilir hale getirmek adına yapılması gereken başka işlemler var. Bir sonraki bölümde, uygunluk koşulları hakkında aracı ile son kullanıcılar arasında görüşmeleri etkinleştirmek için bir bilgi işleyici kullanacaksınız.

4. Temsilciyi, kan uygunluğuyla ilgili sık sorulan soruları yanıtlayacak şekilde yapılandırın

Mağaza istemini girin

Belge toplama işlemi arka planda çalışırken, veri deposu istemini düzenleyerek temsilciye bir marka verelim.

  1. Vertex AI Conversation Console'da sohbet uygulamanızın adını tıklayarak daha fazla test ve özelleştirme işlemi yapabilmeniz için Dialogflow CX konsoluna yönlendirilirsiniz.
  2. Dialogflow CX konsolunda ve temsilcinizin içinden Aracı ayarları'nı (sayfanın sağ üst köşesinde) tıklayın, ardından ML sekmesine gidin ve son olarak Üretken Yapay Zeka sekmesini açın.

Veri deposu istemine git

  1. Şu veri deposu istemini oluşturmak için aşağıdaki formu doldurun: Adınız Donate. Ayrıca Save a life, a fictitious organization adresinde yardımsever ve kibar bir chatbotsiniz. Göreviniz humans with eligibility information adlı kullanıcıya yardımcı olmak.

İsteminizi oluşturmak için formu doldurun

Varsayılan Başlatma Akışı'nın eşleşmesiz etkinliği için üretken yedeği etkinleştir

  1. Build (Derleme) sekmesine geçin ve Başlangıç Sayfası'nı açın.
  2. sys.no-match-default etkinlik işleyiciyi tıklayın. Kutu işaretli değilse üretken yedek özelliğini etkinleştirin.

Akış olmadığında üretken yedeği etkinleştir

Temsilcinin veri deposunu kontrol etme

Başlangıç Sayfası'nda, Veri deposu ayarlarını incelemek için Veri depolarını düzenle'yi tıklayın.

Veri depolarını düzenleyin

Daha önce oluşturduğunuz veri deposu Dialogflow tarafından sizin için zaten seçildi.

Oluşturduğunuz veri deposunu ilişkilendirme

Karşılama bölümündeki Temsilci Yanıtları'na gidin. İstek karşılama, son kullanıcıya verilen aracı yanıtıdır. Dialogflow, Agent şunu söylüyor seçeneğini $request.knowledge.answers[0] parametresiyle önceden doldurdu. Bu parametre, çalışma zamanında kullanıcının sorusuna en uygun yanıtı içeriyor.

Temsilcinin yanıtı, kullanıcının sorusuna en iyi yanıtı içeriyor

5. Temsilciyi test edin

Belgeler kullanılabilir olduğunda ve temsilciniz tarafından kullanılmaya hazır olduğunda yanıtların ne kadar iyi olduğunu kontrol edin.

Simulator'ı (Simulatör) tekrar açmak için Test Agent'ı (Test Aracısı) tıklayın.

Temsilciyi tekrar test edin

Web sitesinin SSS sayfasında bulmayı beklediğiniz soruları sorun:

  • What age do I need to be to donate?
  • Can pregnant women donate?
  • I've just come back from a trip to Africa. Can I donate?
  • How can I schedule an appointment?

Yanıtların bilgi tabanından gelip gelmediğini kontrol etme

Yanıtların Avustralya Kızıl Haç Lifeblood sitesinden alındığına dikkat edin. Bu sayfada belirtildiği gibi, kan bağışı için minimum ve maksimum yaş aralıkları mevcuttur. İlk kez bağışta bulunanlar için minimum yaş 18, maksimum yaş ise 75'tir. Aracı yanıtında görünen küçük yıldız simgesi ve orijinal JSON yanıtı, veri deposundan bilgi aldığımızın kanıtıdır.

Orijinal JSON yanıtını inceleyin

Son olarak, kan bağışı ile tamamen alakalı olmayan bir soruyla temsilciye meydan okumaya çalışalım.

Kullanıcı: "Melbourne'da hava nasıl?"

Müşteri temsilcisi: "Maalesef bu konuda yardımcı olamıyorum. Uygunluk bilgileriyle ilgili olarak size nasıl yardımcı olabilirim?"

Bu yanıt, yapay zeka tarafından üretilmiş içeriğe sahiptir ve Dialogflow'un daha önce sağlanan bilgi bağlayıcı ayarından yola çıkarak oluşturduğu metin isteminden türetilir: "Adınız Bağışta; siz de Hayat Kurtarın'da yardımsever ve nazik bir chatbot'sunuz. Göreviniz, uygunluk bilgileri konusunda gerçek kişilere yardımcı olmaktır". Bu metin istemi şirket adını, temsilci adını ve en önemlisi de Dialogflow tarafından aracı yanıtını oluşturmak için kullanılan kapsamın bilgisini içerir.

Tebrikler! Şu ana kadar veri deposunu kullanıcılara kan bağışıyla ilgili sık sorulan sorular konusunda yardımcı olmak için kullanıyorsunuz. Codelab'in sonraki bölümünde, bilinçli kararlar vermek için oluşturucu metin istemini aynı içeriğe nasıl bağlayacağınızı göreceğiz.

6. Uygunluk testi için temsilciyi ayarlama

Sıradaki görevimiz, kullanıcının kan bağışı yapmaya uygun olup olmadığını belirlemek için aracı tasarlamak. Bağışta bulunanların yaş, kilo, mevcut koşullar, son seyahatler gibi katı şartları vardır. Bu codelab'in kapsamı için yalnızca yaş ve kiloyu dikkate alacağız. Bir oluşturma aracı, görüşmenin bağlamına ve bilgi tabanına göre dinamik olarak bilinçli bir karar vermek için Google'ın büyük dil modellerini (LLM) kullanır.

Yeni rotaları ve parametreleri yapılandırın

  1. Başlangıç Sayfası'nı açın ve Veri depolarını düzenle'yi tıklayın
  2. Mevcut temsilcinin yanıtını $request.knowledge.answers[0] Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives? olarak değiştirin.

Temsilcinin kullanıcı SSS'sine verdiği yanıtı zenginleştirin

  1. Kaydet'i tıklayın
  2. Şimdi aracıyı "evet" yanıtını verecek şekilde tasarlamamız gerekiyor. ve "no" tıklayın. Başlamak için confirmation.yes niyeti ve confirmation.no niyeti oluşturun. Amaç yeniden kullanımıyla ilgili bu kuralları uygulayın.
  3. Ardından Başlangıç Sayfası'nda, confirmation.yes niyeti için yeni bir Uygunluk Testi sayfasına geçiş yapan bir rota oluşturun.

onay.yes niyeti için bir rota oluştur

onay.yes tetiklendiğinde yeni bir sayfaya uygunluk testine geçiş yapılır.

  1. Daha önce de belirttiğimiz gibi, testi basitleştireceğiz ve bağış yapmaya uygun olup olmadığını belirlemek için yalnızca kullanıcının yaşını ve ağırlığını dikkate alacağız. Uygunluk Testi sayfasını açın ve yeni age-weight form parametresi ekleyin, varlık türü olarak @sys.any'yi seçin. İlk istem karşılama olarak "What is your age and weight?" değerini sağlayın. Tek seferde hem yaş hem de kilo verilerini toplamak istiyoruz. Tüm değişiklikleri kaydedin.

Parametre oluştur

Uygunluk oluşturma aracını oluşturma ve yapılandırma

Oluşturma özelliği, geliştiricilerin Dialogflow CX yerine getirme sırasında Google'ın en yeni üretken büyük dil modellerini (LLM) kullanmasına olanak tanıyan bir Dialogflow CX özelliğidir. Çalışma zamanında aracı yanıtları oluşturacak oluşturucular. Oluşturma aracı, eğitildiği büyük metin veri kümesinden alınan genel bilgileri veya görüşmenin bağlamını içeren genel yanıtları işleyebilir.

Kullanıcı tarafından sağlanan bilgileri (yaş ve kilo gibi) uygunluk koşullarıyla karşılaştıracak ve kullanıcının bağış yapıp yapamayacağını belirleyecek yeni bir oluşturma aracı oluşturacağız.

  1. Dialogflow CX konsolunda Yönet sekmesine gidin, Oluşturucular'ı seçin ve Yeni oluştur'u tıklayın.

Yeni oluşturma aracı oluştur

  1. Ardından, açıklayıcı bir görünen ad girin ve metin istemini yazın. Varsayılan model kalite kontrol ayarlarını değiştirmeyin. Ardından, oluşturma aracını oluşturmak için Kaydet'i tıklayın.
    • Görünen ad: Blood Donation Eligibility
    • Metin istemi: Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)

Metin istemi, çalışma zamanında istek karşılama sırasında üretken modele gönderilir. Modelin tatmin edici bir yanıt oluşturabilmesi için açık bir soru veya talep olmalıdır. Metin isteminizde özel yerleşik oluşturucu istem yer tutucuları kullanabilirsiniz:

  • $conversation Kullanıcının en son söylediği hariç olmak üzere, aracı ile kullanıcı arasındaki görüşme.
  • $last-user-utterance Kullanıcının son söylediği şey.

Yapılandırdığınız metin istemi, kullanıcının yaş ve kilo bilgilerini tek bir konuşma dönüşünde ("$last-user-utterance") sağlamasını bekler.

Oluşturma sırasında oluşturucuyu kullanın ve gerekli tüm parametreleri yapılandırın

  1. Uygunluk Testi sayfasında, tüm parametreler doldurulduğunda gerçekleşecek yeni bir rota ekleyin. Koşul $page.params.status = "FINAL" koşulunu girin ve Kaydet'i tıklayın.

Tüm parametreler doldurulduğunda gerçekleşecek yeni bir güzergah ekleyin

  1. Sipariş Karşılama bölmesinin Oluşturucular bölümüne gidin ve bu bölümü genişletin. Ardından Jeneratör ekle'yi tıklayıp Kan Bağışı Uygunluğu oluşturma aracını seçin. Oluşturucuyu seçtikten sonra, çalıştırıldıktan sonra oluşturucunun sonucunu içerecek çıkış parametresini tanımlamanız gerekir.

"Kan Bağışı Uygunluğu" oluşturma aracını seçin, istem yer tutucularını oturum parametreleriyle ilişkilendirin ve çıkış parametresini tanımlayın

  1. Aracı yanıtındaki çıkış parametresini kullanıp rotayı kaydedin. Artık hepsini test etmeye hazırsınız.

Aracı yanıtında çıkış parametresini kullanın

7. Temsilcinizi yeniden test edin

Simülasyon Aracı'nı tekrar açmak için Aracıyı Test Et'i tıklayın.

Temsilciyi tekrar test edin

Simulator'da temsilciyle yeni bir görüşme başlatın. Öncelikle yaş şartlarını sorun, ardından uygunluk testine geçin. "Uygun" durumunu test etme Bu nedenle, 18-75 arasında bir yaş ve 50 Kg'ın üzerinde bir ağırlık girin.

Uygun yol

Ardından, koşullardan biri veya her ikisi de karşılanmadığında uygunluk kontrolünün başarısız olduğunu kontrol edin.

Uygun olmayan yol

Harika, jeneratör beklendiği gibi çalışıyor. Yoksa faydası nedir? Kullanıcı yaşı sağlayıp kiloyu belirtmezse (veya tam tersi) ne olur?

Yaşı girin ancak kilo vermeyin

8. Oluşturma istemi ayarı

Önceden yaş ve kilo bilgisi toplama işlemi, hem yaş hem de kilo sağlanmadığı sürece çalışmıyor. Bunun yerine, her iki değeri de varlık parametreleri olarak toplayan bir form oluşturmalıyız. İstemin tüm uygunluk koşullarının (ör. yaş ve kilo) bağlamına uygun olmasını sağlamak için kelimenin önüne $ ekleyerek yer tutucu kullanabiliriz. Daha sonra bu oluşturucu istem yer tutucularını, karşılamadaki oturum parametreleriyle ilişkilendireceğiz ve yürütme sırasında bunların yerine oturum parametresi değerleri kullanılacak.

  1. Uygunluk Testi sayfasını açın ve biri ağırlık, diğeri yaş için olmak üzere iki ayrı form parametresi ekleyin. Varlık türü olarak @sys.number-integer'yi seçin ve gerekli parametreleri işaretleyin. How old are you? ve What is your correct weight? gibi ilk istem karşılamaları sağlayın. Tüm değişiklikleri kaydedin.

Uygunluk formu

  1. İki yeni özel yer tutucu ekleyeceğimiz için, oluşturma aracının metin istemini değiştirebilmemiz için önce oluşturucuyu rota yerine getirme işleminden kaldırmamız gerekecek. Kaydet'i tıklayın.

Jeneratörü çıkarma

  1. Yönet sekmesine gidin, Oluşturucular'ı seçin ve Kan Bağışı Uygunluğu oluşturma aracının metin istemini Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why. ile güncelleyin. Save'i (Kaydet) tıklayın.

Metin istemini yaş ve kilo formu parametrelerinin bağlamına uygun hale getirmekle kalmayıp aynı zamanda son cümleyi, kullanıcıya uygunluk testinin resmi sonucunu içeren resmi bir e-posta oluşturabilecek şekilde değiştirdik.

Metin istemini yeniden yapılandırma

  1. Uygunluk Testi sayfasında rotayı seçin ve Karşılama bölmesinin Oluşturucular bölümünü genişletin. Ardından Jeneratör ekle'yi tıklayıp Kan Bağışı Uygunluğu oluşturma aracını seçin. Oluşturma aracını seçtikten sonra, yeni istem yer tutucularını ilgili oturum parametreleriyle ilişkilendirmeniz gerekir. Ayrıca, çıkış parametresini yeniden ayarlamanız gerekir. Save'i (Kaydet) tıklayın.

Oluşturma aracı bağlamalarını güncelleme

  1. Temsilciyi tekrar test edin. Uygunluk kontrolünde artık hem yaş hem de kilo dikkate alınıyor. İfadeler sohbet üslubundan sonra potansiyel insan olmadan gönderilmeye hazır olan daha kibar bir yanıta dönüştü.

Kullanıcının uygun olmadığını belirten e-posta

Kullanıcının uygun olduğunu belirten e-posta

9. Tebrikler

Tebrikler, bu codelab'i tamamladınız.

Codelab'i tamamladığınız için tebrikler.

Bugün, içerik üreticileri uygunluk testleri bağlamında inceledik. Üreticilerin aracı yanıtları oluşturmak için LLM'leri kullandığını ve bir bilgi tabanıyla desteklendiğinde bilinçli kararlar alabildiklerini gördünüz. Elbette, oluşturuculardan ve veri depolarından yararlanarak kullanılabilecek daha birçok kullanım alanı var ve bunları tanımak için sabırsızlanıyoruz.

Temizleme

Bu codelab'de kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini önlemek amacıyla aşağıdaki temizleme işlemini yapabilirsiniz:

  • Gereksiz Google Cloud ücretlerinden kaçınmak için, ihtiyacınız yoksa projenizi silmek üzere Google Cloud Console'u kullanın.
  • Mevcut bir Google Cloud projesini kullandıysanız hesabınızdan ücret alınmasını önlemek için oluşturduğunuz kaynakları silin. Daha fazla bilgi edinmek için Uygulama silme adımlarını inceleyin.
  • Vertex AI Conversation ve Dialogflow'da API'leri devre dışı bırakmak istiyorsanız Discovery Engine API Service Details (Discovery Engine API Hizmeti Ayrıntıları) sayfasına giderek API'yi devre dışı bırak'ı tıklayın ve işlemi onaylayın. Ardından, Dialogflow API Service Details (Dialogflow API Hizmeti Ayrıntıları) sayfasına giderek API'yi devre dışı bırak'ı tıklayıp işlemi onaylayın.

Daha Fazla Bilgi

Aşağıdaki kılavuzlar ve kaynaklarla etkileşimli yapay zeka ve üretken yapay zeka hakkında bilgi edinmeye devam edin:

Lisans

Bu çalışma, Creative Commons Attribution 2.0 Genel Amaçlı Lisans ile lisans altına alınmıştır.