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:
- Tarayıcınızda Dialogflow API Hizmet Ayrıntıları sayfasına gidin.
- 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:
- Google Cloud konsolunda Vertex AI Arama ve Sohbet konsoluna gidin.
- 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.
- Vertex AI Conversation'da yeni bir sohbet uygulaması oluşturmak için:
- Vertex AI Conversation Console'a (Vertex AI Sohbet konsoluna) gidip konsolun üst kısmındaki +New app'i (+Yeni uygulama) tıklayın.
- 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.
- Vertex AI Conversation Console'da, oluşturmak istediğiniz uygulama türü olarak Chat'i seçin.
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.- Aracı adı olarak
Blood Donation Agent
girin. - Devam'ı tıklayın.
- Yeni veri deposu oluştur'u tıklayın.
- Veri deponuzun veri kaynağı olarak Cloud Storage'ı seçin.
- 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
- İçe aktardığınız veri türü olarak Yapılandırılmamış dokümanlar'ı seçin.
- Devam'ı tıklayın.
Australian Red Cross Lifeblood Unstructured
tutarında bir Veri deposu adı belirtin.- Veri deposunu oluşturmak için Oluştur'u tıklayın.
- Veri depoları listesinde yeni oluşturulan
Australian Red Cross Lifeblood Unstructured
öğesini seçin. - 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.
- 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.
- 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.
- Şu veri deposu istemini oluşturmak için aşağıdaki formu doldurun: Adınız
Donate
. AyrıcaSave a life, a fictitious organization
adresinde yardımsever ve kibar birchatbot
siniz. Görevinizhumans with eligibility information
adlı kullanıcıya yardımcı olmak.
Varsayılan Başlatma Akışı'nın eşleşmesiz etkinliği için üretken yedeği etkinleştir
- Build (Derleme) sekmesine geçin ve Başlangıç Sayfası'nı açın.
- sys.no-match-default etkinlik işleyiciyi tıklayın. Kutu işaretli değilse üretken yedek özelliğini etkinleştirin.
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.
Daha önce oluşturduğunuz veri deposu Dialogflow tarafından sizin için zaten seçildi.
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.
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.
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 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.
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
- Başlangıç Sayfası'nı açın ve Veri depolarını düzenle'yi tıklayın
- 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.
- Kaydet'i tıklayın
- Ş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.
- Ardından Başlangıç Sayfası'nda, confirmation.yes niyeti için yeni bir Uygunluk Testi sayfasına geçiş yapan bir rota oluşturun.
- 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.
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.
- Dialogflow CX konsolunda Yönet sekmesine gidin, Oluşturucular'ı seçin ve Yeni oluştur'u tıklayın.
- 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)
- Görünen ad:
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
- 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.
- 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.
- Aracı yanıtındaki çıkış parametresini kullanıp rotayı kaydedin. Artık hepsini test etmeye hazırsınız.
7. Temsilcinizi yeniden test edin
Simülasyon Aracı'nı tekrar açmak için Aracıyı Test Et'i tıklayın.
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.
Ardından, koşullardan biri veya her ikisi de karşılanmadığında uygunluk kontrolünün başarısız olduğunu kontrol edin.
Harika, jeneratör beklendiği gibi çalışıyor. Yoksa faydası nedir? Kullanıcı yaşı sağlayıp kiloyu belirtmezse (veya tam tersi) ne olur?
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.
- 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?
veWhat is your correct weight?
gibi ilk istem karşılamaları sağlayın. Tüm değişiklikleri kaydedin.
- İ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.
- 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.
- 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.
- 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ü.
9. Tebrikler
Tebrikler, bu codelab'i tamamladınız.
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:
- Dialogflow CX için dokümanlar
- Vertex AI Conversation'a giriş
- Veri deposu aracısı oluşturma ve kullanma
- Vertex AI Conversation belgeleri
- Google Cloud'da üretken yapay zeka
Lisans
Bu çalışma, Creative Commons Attribution 2.0 Genel Amaçlı Lisans ile lisans altına alınmıştır.