İddialar ile birlikte sahneler, görüşme modelinizin diğer önemli yapı taşlarından biridir. Sahneler, görüşmenizdeki her bir durumu temsil eder. Temel amaçları, görüşmenizi mantıksal parçalar halinde düzenlemek, görevleri gerçekleştirmek ve kullanıcılara istem vermektir.
Sahnelerin bazı özellikleri şunlardır:
- Döngüsel yürütme: Sahneler, tanımladığınız geçiş ölçütlerini karşılayana kadar bir döngü içinde yürütülür. Bu sayede, tek bir sahnede çok daha verimli bir şekilde kontrol mantığı akışları oluşturabilirsiniz.
- Diyaloğu ayırma: sahneler, niyetlerle birlikte diyalogları mantıksal parçalar halinde gruplandırmanıza olanak tanır. Böylece, kullanıcı isteği ve işlem yanıtı çiftlerini kolayca oluşturabilirsiniz.
- Amaç eşleştirmeyi kapsama: Aynı anda yalnızca bir sahne etkin olabileceğinden, seçtiğiniz sahneleri kapsam kapsamına alabilir ve yalnızca bu sahneler aktif durumdayken eşleştirebilirsiniz.
- Alan doldurma: Birden çok giriş oluşturmak zorunda kalmadan, yazılan kullanıcı girişlerini birden fazla kez toplamak için bir sahnede slot doldurmayı kullanabilirsiniz.
- Sahne koşulları: Webhook'u tetiklemeden basit, koşullu mantık çalıştırmak için slotları, oturumu, kullanıcıyı ve ev depolama alanını kontrol edebilirsiniz.
Sahneleri, görüşme modelinizin bir parçası olarak özel sahne olarak tanımlayabilirsiniz. Asistan'ın konuşma mantığı, görüşmeniz için standart işlevler sağlayan sistem sahnelerini de içerir.
Özel sahneler
Özel sahne, Action'ınızın konuşma modelinin bir parçası olan konuşma mantığının yapı taşıdır. Özel sahneler, Etkinleştirme olarak adlandırılan, nasıl ve ne zaman başlayacağını, performanslarını işlemesi, Yürütme yaşam döngüsü ve sahnenin sona erme tarihi olan Geçiş'i tanımlayan aşamalar içerir:
- Etkinleştirme: Bir sahnenin yürütülebilmesi için önce genel bir amaç eşleşmesi veya sahne geçişi aracılığıyla etkinleştirmeniz gerekir.
- Yürütme: Sahne etkin olduğunda iyi tanımlanmış bir yaşam döngüsünde yürütülür. Bu yaşam döngüsü; slot doldurma, koşullu kontrol, istem oluşturma ve webhook etkinliklerini tetikleme gibi çeşitli görevleri gerçekleştirmenizi sağlar.
- Geçiş - Bir sahne, tanımladığınız bir ölçütü eşleştirme veya slot doldurmayı tamamlama gibi belirlediğiniz ölçütleri karşıladığında daha fazla mantık gerçekleştirmek için başka bir sahneye geçebilirsiniz. Alternatif olarak, kullanıcıyla olan görüşmenizi sonlandıran Görüşmeyi sonlandır sistem sahnesine geçebilirsiniz.
Yapılanlar
Bir sahnenin yürütülebilmesi için önce etkin olması gerekir. Aynı anda yalnızca bir sahne etkin olabilir. Sahneleri aşağıdaki şekillerde etkinleştirebilirsiniz:
- Çağrı: Kullanıcı girişi, genel niyetin dil modeliyle eşleştiğinde çağrıyı işlemek için bir sahneyi etkinleştirebilirsiniz.
- Statik sahne geçişi: Bir sahne, geçiş ölçütlerini karşıladığında başka bir sahneye geçiş tanımlayabilirsiniz.
- Dinamik sahne geçişi - Webhook kullanarak başka bir sahneye programatik olarak geçiş yapabilirsiniz.
Yürütme yaşam döngüsü
Bir sahne etkin olduğunda, sahne belirlediğiniz geçiş ölçütlerini karşılayana kadar döngü şeklinde iyi tanımlanmış bir yaşam döngüsünde yürütülür. Bir sahnenin yürütme yaşam döngüsü, aşağıdaki sırayla çalışan isteğe bağlı aşamalara ayrılmıştır:
Girildiğinde - Bu aşama yalnızca bir sahne etkinleştirildiğinde çalışır. Bir webhook'u tetikleyebilir veya kullanıcıdan sahnenizin tek seferlik kurulumunu yapmasını isteyebilirsiniz.
Koşullar: Koşullar, yaşam döngüsü aşamalarında ilerleme sağlamadan, webhook tetiklemeden veya istek göndermeden önce belirli ölçütleri değerlendirmenize olanak tanır. Bu aşama, yürütme döngüsünden çıkan geçiş ölçütlerini tanımlayabilir.
Alan doldurma - Bir sahne, gerekli tüm slotlar (yazılı veriler) toplanana kadar otomatik olarak kullanıcılardan istem gönderebilir. Bir sahne, yürütme döngüsü boyunca her seferinde tek bir alanı ister. Eksik alanlar varsa sahnenin yaşam döngüsü sonunda slot doldurma aşamasına geri döner ve gereken bir sonraki alan için istemde bulunur. Bu aşama, yürütme döngüsünden çıkmak için geçiş ölçütlerini tanımlayabilir.
İstemler - Asistan, istem sırasını kullanıcıya sunar ve sırayı temizler. İstem sırası, bu aşamanın sırayı son temizlemesinden bu yana toplanan birleştirilmiş birleştirilmiş istemlerden oluşur.
Giriş - Asistan, sahnenize kullanıcı girişlerini tüketir ve geri döndürür. Bu nedenle sahneyi işleyebilirsiniz. Bunun için amaç eşleştirmesi (global sahneler veya bir sahnedeki kullanıcı amaçları), slot doldurmaya devam etme (tamamlanmadıysa) veya eşleşme yok ya da hiç giriş hatası işlememe gibi durumlar olabilir. Bu aşama, yürütme döngüsünden çıkmak için geçiş ölçütlerini tanımlayabilir. Geçiş yapılmıyorsa yürütme döngüsü koşullar aşamasına geri döner.
Aşağıdaki bölümlerde yaşam döngüsü aşamaları daha ayrıntılı olarak açıklanmaktadır.
Girildiğinde
Giriş aşaması, bir sahnenin yürütme döngüsünde yürütülmeyen tek aşamadır. Sahneyi aşağıdaki sırayla bir kez başlatır:
- Asistan çalışma zamanı, daha önce eşlenen bir amaç kapsamındaki tüm slotları doldurabilirse bunu, sahnedeki slot doldurma aşamasına hazırlamak için yapar. Örneğin, bazı kullanıcı girişleri bir amaç ile eşleşebilir ve alan sağlayabilir. Amaç eşleşmesi bir sahneyi etkinleştirir ve alan adları eşleşirse sahnedeki bir alanı doldurabilir.
- Webhook etkinse bir etkinliği eşzamanlı olarak tetikler ve web hizmetinizin yanıt döndürmesini bekler.
- Çalışma zamanı bir webhook yanıtı aldığında, istemlerdeki tüm parametre referanslarını çözümler ve kullanıcı yüzeyine göre bir istem adayı seçer ve adayın daha sonra kullanıcıya göndermesi için bir varyant seçer.
- Webhook yanıtı bir istem içeriyorsa bunu istem sırasına ekler. Statik bir istem de mevcutsa webhook istemi önce istem sırasında birleştirilir, ardından statik istemde toplanır.
- Webhook yanıtında geçiş varsa hemen yapılır. Aksi takdirde sahne, alan doldurma aşamasına geçer.
Koşullar
Koşullar, bir koşulun doğru olduğundan emin olmak için oturum, kullanıcı veya slot verilerini kontrol etmenize olanak tanır. Örneğin, tüm alanların doldurulup doldurulmadığını kontrol edebilir ve alanları işlemek için başka bir sahneye geçmek üzere bir ölçüt olarak ayarlayabilirsiniz.
- Asistan çalışma zamanı, her koşulu belirtilen sırada değerlendirir.
true
olarak değerlendirilen ilk koşul, ilişkili işleyiciyi çalıştırır ve koşullar değerlendirmesini durdurur. - Alan doldurma işlemi gerçekleştirirseniz koşul listesine
else if scene.slots.status = "FINAL"
koşulu otomatik olarak eklenir. İsteğe bağlı bu koşul, alan doldurma işleminin tamamlanıp tamamlanmadığını kontrol eder ve webhook kullanabilir veya istem kuyruğuna istemler ekleyebilir.
Koşul değerlendirmesinden sonra sahne bir geçiş tanımlamıyorsa alanı doldurmaya devam eder.
Yuva yerleştirme
Bu aşama; tek, doldurulmamış ve zorunlu bir alan için slot istemi ekler. Sahnede herhangi bir slot tanımlamazsanız bu aşamada herhangi bir şey olmaz.
- Asistan çalışma zamanı ilk doldurulmayan alanı seçer ve istem kuyruğuna karşılık gelen istemi ekler. Sahnenin yürütme döngüleri nedeniyle, yürütme döngüsü bu aşamaya döndüğünde ek, doldurulmamış alanlar işlenir.
- Mevcut etkin alanda, sahnenin giriş aşamasında tanımlananları geçersiz kılan hata işleme istemleri olabilir.
- Kullanıcı bir alanı doldurduğunda webhook'u tetikleyerek web hizmetinde doğrulayabilirsiniz.
İstemler
Asistan çalışma zamanı, kullanıcıya istem sırasını sunar, sırayı temizler ve kullanıcı girişini tüketir.
Giriş
Asistan çalışma zamanı, girişi bir amaç veya alanla eşleştirmeye çalışır:
- Kullanıcı amacı eşleşmesi söz konusu olduğunda sahne, ilişkili amaç işleyiciyi (kullanıcı veya sistem amacı) yürütür. Bir sahnenin intent işleyicisi, tüm global amaçlara göre önceliklidir. Bir geçiş tanımlamadıysanız sahne yürütme, koşullar aşamasını geri alır.
- Slot eşleşmesi söz konusu olduğunda sahne, alan doldurma aşamasına geri döner.
Bir sistem amacı eşleşmesi (örneğin, giriş yok veya eşleşme yok) söz konusu olduğunda, istem kuyruğuna istemler ekleyebilir, webhook'u tetikleyebilir veya geçiş yapabilirsiniz. Birden fazla eşleşmesiz istek tanımlanmışsa Asistan çalışma zamanı en alakalı olanı, şu sırayla seçer: yuva doldurma, sahne ve genel eşleşme yok istemleri. Ardışık eşleşmeler karşılık gelen etkinliği oluşturmaz:
no_match_1
no_match_2
no_match_final
Her eşleşme düzeyi (alan doldurma, sahne ve global) webhook etkinliklerini tetikleyebilir. Varsayılan olarak, üçüncü ve son eşleşme bulunmaz.
Geçiş
Geçişler aşağıdaki aşamalarda gerçekleşebilir:
- Koşullar - Tanımladığınız koşullara göre başka bir sahneye geçebilirsiniz. Kontrol edilmesi gereken yaygın bir durum, alanın doldurulmasıdır.
- Giriş (kullanıcı amacı eşleştirme): Bir amaç eşleşirse başka bir sahneye geçişi tetikleyebilir.
- Giriş (sistem amacı eşleşmesi) - Herhangi bir sistem amacı eşleşmesi etkinliği sırasında webhook'ları tetikleyebilirsiniz. Eşleşme yok ve giriş etkinlikleri yoksa sahne, varsayılan olarak üç tekrardan sonra Görüşmeyi sonlandır sahnesine geçirilir.
Sistem sahneleri
Sistem sahneleri, Asistan tarafından sağlanan yerleşik, konuşma mantığını kullanarak kullanıcı deneyiminize standart konuşma akışları eklemenize olanak tanır. Örneğin, hesap bağlama sistemi sahnesi, Asistan'ın hesap bağlama akışını gerçekleştirmek için anlık olarak devralmasına olanak tanıyarak kullanıcının hesaplarını bağlayabilmeniz için gereken bilgileri döndürür. Sistem sahneleri, standart sahne yaşam döngüsüne uymamaktadır.
Aşağıdaki listede, desteklenen sistem sahneleri ve bunların nasıl kullanılacağı açıklanmaktadır:
- Görüşmeyi sonlandır - Mikrofonu kapatır ve kullanıcıyla görüşmeyi durdurur. Asistan, bu sahne çalıştırıldıktan sonra kullanıcı deneyiminin kontrolünü tekrar ele alır.
- Hesap bağlama: Hesap bağlama akışı boyunca kullanıcıya yol gösterir ve Actions'ınıza arka uç sunucularınızdaki kullanıcının hesabını kullanıcının Google Hesabı'na bağlamak için gereken bilgileri sağlar. Bu sahnenin nasıl kullanılacağıyla ilgili daha fazla bilgi için hesap bağlama dokümanlarına bakın.
- Günlük güncellemeler: Kullanıcıları işlem onayı eklemek için bir onay akışı boyunca yönlendirir. Bu sahnenin nasıl kullanılacağıyla ilgili daha fazla bilgi için günlük güncellemeler belgelerine bakın.
- Bildirimler: Onay işlemi sırasında kullanıcıyı İşlemlerinizden bildirim almaya yönlendirir. Bu sahnenin nasıl kullanılacağıyla ilgili daha fazla bilgi için push bildirimleri belgelerine bakın.