Aracılığıyla paylaş


Değişkenlerle çalışma

Müşterilerin yanıtlarını kaydetmek ve konuşmanın devamındaki içeriklerini yeniden kullanmak için değişkenleri kullanabilirsiniz.

Müşteriye farklı konuşma yollarını dinamik olarak yönlendiren mantıksal ifadeler oluşturmak için de değişkenler kullanabilirsiniz. Örneğin, bir müşterinin adını "customerName" adlı bir değişkene kaydettiğinize aracı, konuşma devam ederken müşteriye adıyla hitap edebilir.

Değişkenler, ayrıca diğer konulara ve Power Automate akışlarına aktarılabilir ve bunlardan döndürülebilir.

Değişken oluşturma

Soru düğümü gibi çıkış olarak bir değişken seçmenizi isteyen tüm düğünler, otomatik olarak uygun türde bir çıktı değişkeni oluşturur.

Varsayılan değişkenin adı ve türü vurgulanmış olarak bir Soru düğümünün ekran görüntüsü.

İpucu

Düğümleri daha kolay tanımlayacak şekilde yeniden adlandırın. Adı doğrudan güncelleştirmek için düğümün ad alanını seçin veya düğümün Daha fazla simgesini (...) ve menüden Yeniden adlandır'ı seçin. Ayrıca kod düzenleyicide düğümleri yeniden adlandırabilirsiniz.

Tetikleyici düğümlerini ve Adıma git düğümlerini yeniden adlandırmak mümkün değildir.

Düğüm adlarının uzunluğu en fazla 500 karakter olabilir.

Kullanılacak bir varlık seçme

Soru düğümleri, varsayılan olarak, soru düğümü çoktan seçmeli seçeneklerle oluşturulur. Farklı bir önceden oluşturulmuş veya özel varlık kullanmak için, Tanımla kutusunu seçin ve aracının dinlemesi gereken bilgi türünü seçin.

'Tanımlanacak bilgileri seçin' panelinin açık olduğu bir Soru düğümünün ekran görüntüsü.

Değişkeni yeniden adlandırma

Değişkenler oluşturulduğunda, bunlara otomatik olarak bir ad atanır. En iyi deneyim, aracınıza sahip olması gereken diğer kişilere amaçlarını belirginleştirmek için değişkenlerinize anlamlı adlar vermektir.

  1. Değişken özellikleri bölmesinde açmak için bir değişkeni seçin.

  2. Değişken adı altında değişkeninize yeni bir ad girin.

Değişken ayarla

Genellikle, kullanıcı girişini bir değişkende kaydetmek için bir Soru düğümü kullanırsınız. Bununla birlikte, değişkenin değerini kendiniz ayarlamak istediğiniz durumlar olabilir. Bu durumda bir Değişken Değeri Ayarla düğümü kullanın.

  1. Bir düğüm eklemek için Düğüm ekle'yi (+) seçin ve ardından Değişken yönetimi>Değişken değeri ayarla'yı seçin.

  2. Değişken ayarla altındaki kutuyu ve sonra Yeni değişken oluştur'u seçin.

    Yeni bir değişken düğmesi oluşturma ekran görüntüsü.

    Yeni değişken oluşturulur. Bir değere atanana kadar türü bilinmez olur.

    Yeni bilinmeyen tür değişken ile Değişken Değeri Ayarla düğümünün ekran görüntüsü.

  3. Değere seçeneği için, aşağıdaki seçeneklerden birini kullanarak bir değer atayın:

    • Değişmez değer yazın.
    • Aynı türde varolan bir değişken seçin. Bu eylem, değişkeninizi seçtiğiniz değişkenle aynı değere ayarlar.
    • Power Fx formülü kullanın. Power Fx formülleri, Tablo ve Kayıt türleri gibi sabit değişmez değerlerin kullanılamadığı daha karmaşık türler için yararlıdır.

Not

Bir dize türündeki değişkeni ayarlarken, Değişkeni ayarla ile Değere arasında bir uyuşmazlıkla karşılaşırsanız, bir hata mesajı ve Tür uyuşmazlığını düzelt düğmesi görüntülenir. Uyuşmazlığı çözen bir Power Fx formülü'nün otomatik olarak Copilot Studio tarafından üretilmesini sağlayan düğmeyi seçin.

Eylem düğümlerinde değişkenler kullanma

Eylem düğümünde bir değişken kullandığınızda temel türü bir akış veya Bot Framework becerisi için belirtilen bir parametre türüyle eşleşiyorsa değişkeni o parametreye ekleyebilirsiniz. Eylem düğümlerinden gelen çıktı yeni değişkenler üretir.

Bir beceri eylemi için giriş ve çıkış parametrelerine sahip bir Eylem düğümünün ekran görüntüsü.

Değişken girdilerde değişmez değerleri kullanın

Giriş parametreleri için bir değer ayarlayabildiğiniz düğümlerde, değer olarak başka bir değişken seçmek yerine her zaman değişmez bir değer girebilirsiniz.

productName adlı değişken giriş parametresi için değişmez değerin kullanımını gösteren ekran görüntüsü.

Düğüm, değişmez değerleri dize, sayı veya Boole olarak yorumlamaya çalışır. Örneğin, 123 sayı olarak yorumlanır. Bunun yerine bir dize değeri olarak yorumlanmasını istiyorsanız bu değeri şu şekilde çift tırnak içine alabilirsiniz: "123".

Bazı senaryolarda (örneğin, karmaşık türlerin kullanıldığı senaryolar), belirli bir türü ayarlamak için Power Fx formülünü kullanmanız gerekebilir.

Azure Key Vault gizli dizileri için ortam değişkenlerini kullanma

Bir ortam değişkeni Key Vault'taki bir gizli diziye başvurabilir. Gizli ortam değişkenleri, benzersiz dikkat edilmesi gereken noktalara sahip ortam değişkenlerinin özel bir durumudur.

Power Apps portalında gizli bir ortam değişkeni oluşturmak için kendi Key Vault'unu yapılandırmanız gerekir.

Copilot Studio'in bu Key Vault'u okumasına yetki vermek için aşağıdaki işlemleri gerçekleştirmelisiniz:

  1. Key Vault Secrets User rolünü Microsoft Virtual Agents Service uygulamasına atayın.

  2. Tüm aracıları ortamdan gizliye erişmeleri için yetkilendirmek üzere gizli dizide bir AllowedEnvironments etiketi oluşturun ve izin verilen ortam kimliklerini virgülle ayırarak ekleyin.

  3. Ortamdan yalnızca belirli aracıları bu Key Vault'u kullanma yetkisi vermek için bir etiket AllowedAgents oluşturun ve aracı tanımlayıcısını biçime {envId}/{schemaName} yerleştirin. Birden fazla değer için değerleri virgülle ayırın.

Maksimum karakter sayısına ulaşıyorsanız ancak daha fazla aracı eklemeniz gerekiyorsa, açıklayıcı ancak benzersiz bir adla başka bir etiket ekleyin (örneğin: AllowedAgents2).

Gizli dizi değeri Diyalog çalışma zamanında beş dakika boyunca önbelleğe alınır. Başarısız okumalar 30 saniye boyunca önbelleğe alınır.

Uyarı

Gizli diziyi aracı içine ekleyerek, bu gizli dizinin değerini ortamdaki aracı düzenleyebilen tüm kullanıcılara sunabilirsiniz, çünkü bu tür kullanıcılar SendMessage düğümünde değeri döndürmek için aracı düzenleyebilir.

Değişkenler bölmesi

Değişkenler bölmesi, hangi düğümlerde tanımlandıklarına veya kullanıldıklarına bakılmaksızın bir konu için kullanılabilen tüm değişkenleri görüntüleyebileceğiniz yerdir. Her değişkenin değerini diğer konulardan alıp almayacağını, değerini diğer konulara veya her ikisini birden alacağını seçebilirsiniz. Ayrıca Değişken özellikleri bölmesinde özelliklerini düzenlemek üzere bir değişken seçebilirsiniz.

Değişkenler bölmesini açmak için, konu menü çubuğunda Değişkenler'i seçin.

Copilot Studio yazma tuvalinde Değişkenler bölmesinde Değişkenler düğmesi vurgulanmış şekilde ekran görüntüsü.

Değişken özellikleri bölmesi

Değişken özellikler bölmesinde bir değişkeni yeniden adlandırabilir, bir değişkenin nerede kullanıldığını görebilir veya bir değişkeni bir global değişkene dönüştürebilirsiniz. Bununla birlikte, genel bir değişkeni tekrar konu değişkenine dönüştüremezsiniz. Ayrıca, bir konu değişkeninin diğer konulardan değer alıp alamayacağını veya değerini diğer konulara geçirip geçiremeyeceğini de seçebilirsiniz.

Bir değişkenin Değişken özellikleri bölmesini açmak için, istediğiniz değişkeni Değişkenler bölmesinde seçin. Ayrıca herhangi bir düğümdeki değişkeni seçerek de Değişken özellikleri bölmesini açabilirsiniz.

Konular arasında değişkenleri ilet

Bir konuyu başka bir konuya yeniden yönlendirdiğinizde, değişkenlerin değerlerini kaynak konudan hedef konuya geçirebilir ve ayrıca hedef konudan kaynak konuya değer döndürebilirsiniz. Konular arasında değişkenler iletmek, sonraki konunun ihtiyaç duyduğu bilgilere zaten sahip olan bir eski konu olduğunda özellikle yararlıdır. Kullanıcılarınız, aynı soruyu tekrar yanıtlamak zorunda kalmamaktan memnun olacaklardır.

Diğer konulardan değer alın

Konu, bir değişkeni tanımladığında (örneğin, bir Soru düğümü ile) aracı, kullanıcıya değişkenin değerini doldurması için soru sorar. Değer aracı tarafından daha önceki bir konuda alınmışsa soruyu tekrar sormak için herhangi neden yoktur. Bu durumlarda değişkeni Diğer konulardan değer al olarak ayarlayabilirsiniz. Başka bir konu bu konuya yeniden yönlendirdiğinde bir değişken (veya değişmez değer) bu değişkenin değerini aktarılabilir ve soru atlanabilir. Aracıyla konuşan kullanıcıya sorunsuz bir deneyim sağlanır.

Bu örnekte, Karşılama ve Müşteriyle Konuşma olmak üzere iki konu kullanıyoruz. Her iki konu da müşterinin adını sorar. Ancak, Selamlama konusu önce çalışırsa, Müşteri ile Konuşma konusu bu soruyu atlar. Bunun yerine, Karşılama konusundan geçirilen değişkenin değerini kullanır.

Müşteri ile Konuşma konusu akışı şöyledir:

Müşteri ile Konuşma konusu konuşma akışı ekran görüntüsü.

Test panelinde gösterildiği gibi, önce bu konu tetiklenirse, kullanıcıya "Size ne demeliyim?" diye sorar. Değeri, customerName adlı bir dize değişkeninde depolar. customerName değişkeni, değerini diğer konulardan alacak şekilde de ayarlanır. Konu, "Umarım harika bir gün geçiriyorsunuz, customerName!" mesajıyla sona eriyor.

Selamlama konusu akışı şöyledir:

Selamlama konusu konuşma akışı ekran görüntüsü.

Test panelinde gösterildiği gibi, önce bu konu tetiklenirse, kullanıcıya "Adınız ne?" diye sorar. Değeri, customerName adlı bir dize değişkeninde depolar. Konu, "Tanıştığımıza memnun oldum, customerName!" mesajını gönderir. Daha sonra, "Umarım harika bir gün geçiriyorsunuzdur, customerName!" mesajını gönderen Müşteri ile Konuş konusuna yönlendirilir. Ancak, Müşteri ile Konuş konusunun kullanıcının adını tekrar sormayı atladığını unutmayın. Bunun yerine, Karşılama konusundan geçirilen customerName değişkeninin değerini kullanır.

Son olarak da bu ikinci görüşmeyi, Müşteri ile Konuşma konusu açısından tekrar göreceğiz:

Selamlama konusu ilk kez tetiklendiğinde Müşteri ile Konuşma konusu akışının ekran görüntüsü.

Diğer konulardan değer almak için bir konu ayarlamak için gereken adımları gözden alalım. Örnek senaryomuzda, kaynak konu olarak önceden tanımlanmış Karşılama konusu ve hedef konu olarak yeni bir konu olan Müşteriyle Konuşma kullanılmaktadır, ancak aynı adımlar, mümkün olduğunda önceki bir konudan bir değer kullanması gereken tüm konular için geçerlidir.

Varış konu ayarlama

Hedef konu, diğer konulardan alınan değerleri alacak olan yeniden yönlendirildiği konu. Bizim örneğimizde bu Müşteri ile Konuşmadır.

  1. Yeni bir konu oluşturun ve buna "Müşteriyle Konuşma" adını verin.

  2. "Konuş benimle", "konuş benimle", "benimle sohbet et" gibi tetikleme tümcecikleri ekleyin.

  3. Bir Soru düğümü ekleyin ve ileti için "Size ne demeliyim?" ifadesini girin.

  4. Tanımla altında, önceden oluşturulmuş Kişi adı varlığını seçin.

  5. Değişkenin adını seçin. Değişken özellikleri paneli açılır.

  6. Varsayılan adı "customerName" ile değiştirin ve ardından Diğer konulardan değer al'ı seçin.

    customerName değişkenini ve özelliklerini gösteren 'Değişken özellikleri' panelinin ekran görüntüsü.

  7. Bir İleti düğümü seçin.

  8. Mesaj kutusuna "Umarım harika bir gün geçiriyorsundur" yazın.

  9. Değişken ekle simgesini ({x}) seçin ve ardından customerName öğesini seçin.

  10. Değişkenden sonraki boşluğu seçin ve "!" girin.

  11. Konuyu kaydedin.

Kaynak konuyu ayarlama

Kaynak konu, yeniden yönlendirmeyi yapan, değeri sağlayan ve hedef konuya ileten konudur. Örneğimizde bu Selamlamadır.

  1. Karşılama konusuna gidin ve Tetikleyici düğümünü silin.

  2. Bir Soru düğümü ekleyin ve ileti için "Adınız ne?" ifadesini girin.

  3. Tanımla altında, önceden oluşturulmuş Kişi adı varlığını seçin.

  4. Varsayılan adı "customerNameFromGreeting" ile değiştirin.

  5. Bir İleti düğümü seçin.

  6. Mesaj kutusuna, "Tanıştığımıza memnun oldum, " yazın.

  7. Değişken ekle simgesini ({x}) seçin ve ardından customerNameFromGreeting öğesini seçin.

  8. Değişkenden sonraki boşluğu seçin ve "!" girin.

  9. Bir Yeniden Yönlendirme düğümü ekleyin ve Müşteriyle Konuşma hedef konusunu seçin.

  10. Giriş ekleyi seçin ve sonra değer iletmek istediğiniz hedef konudan değişkeni seçin.

    Karşılama konusunun, yeniden yönlendirme düğümüne giriş olarak eklenen customerName değişkeni ile ekran görüntüsü.

  11. > simgesini seçin ve ardından değerini geçirmek istediğiniz değişkeni seçin, bu örnekte customerNameFromGreeting.

    Yeniden yönlendirme düğümünün aşağıdaki gibi görünmesi gerekir:

    Selamlama konusunda tamamlanan Yeniden Yönlendirme düğümünün ekran görüntüsü.

  12. Konuyu kaydedin.

Değerleri özgün konulara döndürün

Bir konu yeniden yönlendirildiğinde ve bir soru sorarak ya da farklı şekilde bir değişken aldığında, değişken asıl konusuna döndürülebilir. Değişken de orijinal konunun parçası olur ve başka herhangi bir değişken gibi kullanılabilir. Aracının elde ettiği bilgiler, genel değişkenlere olan gereksinimi azaltarak konular arasında kullanılabilir.

Önceki bölümdeki örnek ile devam edelim. Müşteriyle Konuşma konusunda yeni bir soru soruyoruz ve ardından yanıtı Karşılama konusuna döndürüyoruz.

Verilen bir değişken için kaynak konu ayarlama

Bir konuya değişken döndürürken, kaynak konu, özgün konuya geri dönmek için gereken değeri sağlayan konudur. Müşteriyle Konuşma bu örnekte kaynak konudur.

  1. Kaynak konuya gidin.

  2. Bir Soru düğümü ekleyin ve ileti için "Hangi şehirde yaşıyorsunuz?" ifadesini girin.

  3. Tanımla altında, önceden oluşturulmuş Şehir varlığını seçin.

  4. Değişken özellikleri bölmesinde açmak için bir değişkeni seçin. "customerCity" olarak adlandırın ve ardından Değerleri orijinal konulara döndür'ü seçin.

    customerCity değişkeni ve özellikleri vurgulanmış olarak Müşteriyle Konuş konusunun ekran görüntüsü.

  5. Bir İleti düğümü seçin.

  6. Değişken ekle simgesini ({x}) seçin ve ardından customerCity öğesini seçin.

  7. Mesaj kutusundaki değişkenden sonra "yılın bu zamanında güzel olmalı!" yazın.

  8. Konuyu kaydedin.

Verilen bir değişken için hedef konu ayarlama

Bir konuya değişken döndürürken, hedef konu geçerli konudan değer alan konudur. Örneğimizde, hedef konu Karşılama'dır.

  1. Hedef konuya gidin.

  2. Kaynak konuda seçtiğiniz değişken, Yeniden Yönlendirme düğümünde bir çıkış değişkeni olarak görünmelidir.

    Yeniden yönlendirme düğümünde döndürülen değişken ile Selamlama konusu konuşma akışı ekran görüntüsü.

  3. Konuyu kaydedin.

Değeri ayrıştır düğümü

Değeri ayrıştır düğümü, bir türdeki değeri başka bir türdeki değere dönüştürmenize olanak tanır. Konuya düğüm eklerken, Düğüm ekle simgesini seçin, Değişken yönetimi'ne gidin ve Değeri ayrıştır'ı tıklayın.

Düğüm eklemek, Değişken yönetimi'ni ve ardından Değeri ayrıştır'ı seçmek için menünün ekran görüntüsü.

Değeri ayrıştır düğümünü kullanan temel senaryolar, ham JSON'u veya türü belirtilmemiş (değeri veya yapısı çalışma zamanına kadar bilinmeyen; örneğin, ChannelData) değişkenleri somut türlere dönüştürmeye odaklanır.

İşlem bir akış çağrıldığında başlar ve ardından bir API çağırılır. Ardından API bir sonuç döndürür. Genellikle, bu yanıtı ayrıştırmanız ve bir veya daha fazla ilkel değişken döndürmeniz gerekir. Değeri ayrıştır düğümü ile tüm API sonucunu bir dize olarak gönderebilirsiniz. Örneğin:

{
    "Name": "Parker",
    "Position": "Product manager",
    "Company": "Contoso",
    "FormerPositions": [{
            "Position": "Customer service representative"
        }
    ]
}

Artık sahip olduğunuz dize değişkeni, bu yeni düğümü kullanarak Power Fx'te tam intellisense desteğiyle bir Kayıt değişkenine dönüştürülebilir. Örnek verileri kullanan bir örnek, bu işlemi açıklamaya yardımcı olacaktır.

Değeri ayrıştır düğümünü kullanma örneği

  1. Değeri ayrıştır düğümü ekleyin ve ayrıştırmak istediğiniz değişkeni seçin.

    Ayrıştırılacak değişkenin seçimini gösteren ekran görüntüsü.

  2. Veri türünü seçin. Bu durumda Örnek Verilerden seçeneğini belirleyin.

    Değeri ayrıştır düğümü için veri türü seçimini gösteren ekran görüntüsü.

  3. Örnek JSON'dan Şema Al'ı tıklayın ve açılan düzenleyiciye istediğiniz JSON örneğini girin.

    Örnek JSON'dan şema alma özelliğini gösteren ekran görüntüsü.

  4. Son olarak, ayrıştırılan değeri yerleştirmek istediğiniz değişkeni belirtin. Genellikle bunun için yeni bir değişken oluşturursunuz.

    Ayrıştırılan değer için hedef değişken seçimini gösteren ekran görüntüsü.

    Çıkış değişkeninin artık doğru türde Kayıt olduğuna dikkat edin.

    Ayrıştırılan veriler için hedef değişkenin istenen türde Kayıt olduğunu gösteren ekran görüntüsü.

JSON dizelerini ayrıştırmanın yanı sıra, Değeri ayrıştır düğümünün önemli bir kullanımı çalışma zamanında UntypedObjects'i ayrıştırmaktır. En yaygın kullanım örneği, bir olay aldığınızda olay değerini ayrıştırmanız gerektiğidir. Ya da çalışma zamanında kanala göre değişen System.Activity.ChannelData özelliğini ayrıştırmak isteyebilirsiniz.

Teams'den gelen bir olaydan bilgileri ayrıştıracak olsaydınız, beklenen olayın nasıl görünebileceğine dair bir örnek bulmak için Teams geliştirici belgelerini kullanmanız ve ardından bu örneği bu bölümde daha önce açıklandığı gibi örnek veriler olarak kullanmanız gerekir.