Bagikan melalui


Menggunakan variabel

Penting

Power Virtual Agents kemampuan dan fitur sekarang menjadi bagian dari Microsoft Copilot Studio mengikuti investasi signifikan dalam AI generatif dan integrasi yang ditingkatkan Microsoft Copilot.

Beberapa artikel dan tangkapan layar mungkin merujuk saat Power Virtual Agents kami memperbarui dokumentasi dan konten pelatihan.

Anda dapat menggunakan variabel untuk menyimpan respons pelanggan dan menggunakan kembali konten mereka nanti dalam percakapan.

Anda juga dapat menggunakan variabel untuk membuat ekspresi logis yang secara dinamis mengarahkan pelanggan ke jalur percakapan yang berbeda. Misalnya, simpan nama pelanggan dalam variabel yang dipanggil UserName, dan kopilot dapat menyapa pelanggan dengan nama saat percakapan berlanjut.

Variabel juga dapat diteruskan ke, dan dikembalikan dari, topik dan Power Automate aliran lain.

Variabel dapat ada pada tiga tingkatan, atau cakupan:

  • topik variabel hanya dapat digunakan dalam topik di mana mereka dibuat. Cakupan ini adalah default untuk variabel yang Anda buat.
  • Variabel global dapat digunakan di semua topik. Anda dapat mengubah cakupan variabel topik untuk menjadikannya variabel global.
  • Variabel sistem dibuat secara otomatis dengan kopilot Anda. Mereka memberikan informasi yang lebih kontekstual tentang percakapan atau pengguna. Mereka tersedia di semua topik.

Jenis variabel

Variabel dikaitkan dengan tipe dasar. Tipe menentukan nilai apa yang dapat berisi variabel dan operator yang dapat Anda gunakan saat Anda membuat ekspresi logis dengannya.

Tipe Description
String Urutan karakter yang digunakan untuk mewakili teks
Boolean Nilai logika yang hanya bisa atau truefalse
Angka Setiap bilangan real
Table Daftar nilai, tetapi semua nilai harus dari tipe yang sama
Rekaman Kumpulan pasangan nama-nilai di mana nilai bisa dari tipe apa pun
WaktuTanggal Tanggal, waktu, hari dalam seminggu, atau bulan relatif terhadap suatu titik waktu
Pilihan Daftar nilai string yang memiliki sinonim terkait
Kosong Tempat penampung untuk "tidak ada nilai" atau "nilai tidak diketahui"; untuk informasi selengkapnya, lihat Kosong di Power Fx

Jenis variabel diatur saat pertama kali nilai ditetapkan padanya. Setelah itu, tipe untuk variabel tersebut diperbaiki dan tidak dapat diberi nilai dari tipe lainnya. Misalnya, variabel yang diberi nilai awal diberi 1 tipe Number. Mencoba menetapkannya ke nilai String dari "apples" akan menghasilkan kesalahan.

Saat Anda menguji kopilot, variabel mungkin muncul sementara sebagai jenis yang tidak diketahui. Variabel yang tidak diketahui belum diberi nilai.

Urutan variabel ditentukan dari atas ke bawah kanvas penulisan. Artinya, node di bagian atas kanvas authoring dipertimbangkan sebelum node di bagian bawah. Saat Anda membuat cabang dengan node Kondisi , cabang diurutkan dari kiri ke kanan. Artinya, node di cabang paling kiri dianggap sebelum node di cabang paling kanan.

Entitas

Copilot Studio Menggunakan entitas untuk mengidentifikasi jenis informasi tertentu dari respons pengguna. Informasi yang diidentifikasi disimpan dalam variabel jenis yang sesuai untuk informasi. Tabel berikut mencantumkan jenis basis variabel yang terkait dengan entitas bawaan.

Entitas Jenis dasar variabel
Opsi pilihan ganda Pilihan
Seluruh respons pengguna String
Usia Angka
Boolean Boolean
Kota String
Warna String
Benua String
Negara atau kawasan String
Tanggal dan waktu WaktuTanggal
email String
Kejadian String
Bilangan bulat Bilangan bulat
Bahasa String
Money Angka
Angka Angka
Ordinal Angka
Organisasi String
Persentase Angka
Nama orang String
Nomor telepon String
Titik Minat String
Kecepatan Angka
Provinsi String
Alamat rumah String
Suhu Angka
URL String
Berat Angka
Kode pos String
Entitas kustom Pilihan

Membuat variabel

Setiap node yang meminta Anda untuk memilih variabel sebagai output, seperti node Pertanyaan , secara otomatis membuat variabel output dari jenis yang sesuai.

Cuplikan layar node Pertanyaan, dengan nama dan jenis variabel default disorot.

Pilih entitas untuk digunakan

Node pertanyaan dibuat dengan opsi pilihan ganda secara default. Untuk menggunakan entitas bawaan atau kustom yang berbeda, pilih kotak Identifikasi dan pilih jenis informasi yang harus didengarkan kopilot.

Cuplikan layar node Pertanyaan dengan menu Pilih informasi untuk diidentifikasi terbuka dan entitas Nama orang disorot.

Ubah Nama Variabel

Variabel secara otomatis diberi nama saat Anda membuatnya. Praktik terbaik adalah memberi variabel Anda nama yang bermakna untuk membuat tujuannya jelas bagi orang lain yang harus mempertahankan kopilot Anda.

  1. Pilih variabel untuk membukanya di panel Properti variabel.

  2. Di bagian Nama variabel, masukkan nama baru untuk variabel Anda.

Menetapkan variabel

Biasanya Anda akan menggunakan node Pertanyaan untuk menyimpan input pengguna ke variabel. Mungkin ada situasi di mana Anda ingin menetapkan nilai sendiri. Dalam kasus tersebut, gunakan node Set Variable Value .

  1. Pilih Tambahkan node (+) untuk menambahkan node, lalu pilih Manajemen>variabel Tetapkan nilai variabel.

  2. Pilih kotak di bawah Atur variabel, lalu pilih Buat variabel baru.

    Cuplikan layar tombol Buat variabel baru.

    Variabel baru dibuat. Jenisnya tidak diketahui sampai Anda menetapkan nilai untuk itu.

    Cuplikan layar node Set Variable Value dengan variabel baru dari tipe yang tidak diketahui.

  3. Untuk nilai Kepada, tetapkan nilai menggunakan salah satu opsi berikut:

    • Ketikkan nilai literal.
    • Pilih variabel yang ada dari jenis yang sama. Tindakan ini menetapkan variabel Anda ke nilai yang sama dengan variabel yang Anda pilih.
    • Gunakan rumus Power Fx . Power Fx rumus berguna untuk tipe yang lebih kompleks di mana nilai literal tidak bisa digunakan, seperti tipe Tabel dan Catatan.

Menggunakan nilai literal

Alih-alih memilih nilai variabel, Anda dapat memasukkan nilai literal ke dalam variabel apa pun.

Cuplikan layar memperlihatkan penggunaan nilai literal untuk variabel bernama productName.

Cuplikan layar memperlihatkan nilai literal sebagai input untuk variabel dalam node pengalihan.

Node mencoba menafsirkan nilai literal sebagai string, angka, atau Boolean. Misalnya, 123 ditafsirkan sebagai angka. Jika Anda ingin ditafsirkan sebagai nilai string, Anda dapat Wrap nilai dalam tanda kutip ganda, seperti ini: "123".

Untuk beberapa skenario, atau di mana Anda menggunakan tipe yang lebih kompleks, gunakan Power Fx rumus untuk mengatur tipe tertentu.

Panel variabel

Panel Variabel adalah tempat Anda dapat melihat semua variabel yang tersedia di topik, terlepas dari node mana variabel tersebut didefinisikan atau digunakan. Untuk setiap variabel, Anda dapat memilih apakah variabel dapat menerima nilainya dari topik lain, mengembalikan nilainya ke topik lain, atau keduanya. Anda juga dapat memilih variabel untuk mengedit propertinya di panel Properti variabel.

Untuk membuka panel Variabel , di bilah menu topik, pilih Variabel.

Cuplikan layar panel Variabel di Copilot Studio kanvas penulisan, dengan tombol Variabel disorot.

Panel properti variabel

Di panel Properti variabel, Anda dapat mengganti nama variabel, melihat di mana variabel digunakan, atau mengonversinya menjadi variabel global. Namun, Anda tidak dapat mengonversinya dari variabel global kembali ke variabel topik. Anda juga dapat memilih apakah dapat menerima nilai dari atau meneruskan nilainya ke topik lain.

Untuk membuka panel Properti variabel, pilih variabel di panel Variabel . Anda juga dapat membuka panel Properti variabel dengan memilih variabel di node mana pun.

Cuplikan layar panel Properti variabel.

Variabel sistem

Setiap kopilot dilengkapi dengan variabel sistem bawaan yang memberikan informasi tambahan tentang percakapan.

Cuplikan layar variabel sistem dalam kopilot topik.

Tidak semua variabel sistem ditampilkan dalam daftar. Anda harus mengakses variabel sistem tersembunyi ini dengan rumus Power Fx .

Untuk menggunakan variabel sistem dalam rumus Power Fx , Anda harus menambahkan System. sebelum nama variabel. Misalnya, untuk menyertakan variabel User.DisplayName sistem dalam rumus, Anda harus merujuknya sebagai System.User.DisplayName.

Nama Tipe Tersembunyi Devinisi
Aktivitas.Saluran pilihan terlihat ID saluran percakapan saat ini
Activity.ChannelData apa pun tersembunyi Objek yang berisi konten khusus saluran
Activity.ChannelId string tersembunyi ID saluran percakapan saat ini, sebagai string
Activity.From.Id string tersembunyi ID unik khusus saluran pengirim
Activity.From.Name string tersembunyi Nama pengirim khusus saluran yang mudah digunakan
Activity.Name string terlihat Nama acara
Aktivitas.Teks string terlihat Pesan terbaru yang dikirim oleh pengguna
Aktivitas.Jenis pilihan terlihat Jenis kegiatan
Activity.TypeId string tersembunyi Jenis aktivitas, sebagai string
Aktivitas.Nilai apa pun tersembunyi Nilai terbuka
Bot.Name string terlihat Nama kopilot Anda
Channel.DisplayName string tersembunyi Menampilkan nama saluran
Conversation.Id string terlihat ID unik percakapan saat ini
LastActivity.Id string terlihat ID aktivitas yang dikirim sebelumnya
LastMessage.Id string terlihat ID pesan sebelumnya yang dikirim oleh pengguna
Pesan Terakhir.Text string terlihat Pesan sebelumnya yang dikirim oleh pengguna
Recognizer.TriggerMessage.Id string terlihat ID pesan pengguna yang memicu topik saat ini
Pengenali.TriggerMessage.Text string terlihat Pesan pengguna yang memicu topik saat ini
Pengguna.DisplayName string terlihat Nama tampilan pengguna yang masuk

Meneruskan variabel antar topik

Saat Anda mengalihkan topik ke yang lain, Anda dapat meneruskan nilai variabel antara topik asli dan topik tujuan. Meneruskan variabel antar topik sangat berguna ketika topik sebelumnya sudah mengumpulkan informasi yang diperlukan oleh topik berikutnya. Pengguna Anda akan menghargai tidak perlu menjawab pertanyaan yang sama lagi.

Terima nilai dari topik lain

Ketika topik mendefinisikan sebuah variabel (misalnya, dalam node Pertanyaan), kopilot menanyakan pertanyaan kepada pengguna untuk mengisi nilai variabel. Jika kopilot telah memperoleh nilai di topik sebelumnya, tidak ada alasan untuk menanyakan pertanyaan itu lagi. Dalam kasus ini, Anda bisa menyetel variabel untuk Menerima nilai dari topik lain. Saat topik lain dialihkan ke variabel ini, ia bisa meneruskan nilai variabel (atau nilai literal) ke variabel ini dan melewati pertanyaan. Pengalaman pengguna berbicara dengan kopilot lancar.

Dalam contoh ini, kita akan menggunakan dua topik, Salam dan Bicara dengan Pelanggan. Kedua topik tersebut menanyakan nama pelanggan. Namun, jika Salam topik berjalan terlebih dahulu, Bicara dengan Pelanggan topik melewatkan pertanyaannya. Sebagai gantinya, ia menggunakan nilai variabel yang diteruskan dari Ucapan topik.

Berikut alur Talk to Customer topik:

Tangkapan layar alur percakapan Bicara dengan Pelanggan topik.

Seperti yang ditunjukkan di panel Uji kopilot, jika topik dipicu terlebih dahulu, pengguna akan ditanya, "Saya harus memanggil Anda apa?" Ini menyimpan nilai dalam variabel string yang disebut userName. Variabel userName juga disetel untuk mendapatkan nilainya dari topik lain. Topik diakhiri dengan pesan, "Saya harap hari Anda menyenangkan, {userName}!"

Berikut alur Ucapan topik :

Tangkapan layar alur percakapan Salam topik.

Seperti yang ditunjukkan di panel Uji kopilot, jika topik dipicu terlebih dahulu, pengguna akan ditanya, "Siapa nama Anda?" Ini menyimpan nilai dalam variabel string yang disebut UserName. Topik mengirimkan pesan, "Senang bertemu dengan Anda, {UserName}!" Kemudian dialihkan ke Bicara dengan Pelanggan topik, yang mengirimkan pesan, "Saya harap hari Anda menyenangkan, {userName}!" Namun perlu diperhatikan bahwa Pembicaraan dengan Pelanggan topik melewatkan menanyakan nama pengguna lagi. Sebagai gantinya, ia menggunakan nilai UserName variabel yang diteruskan dari Salam topik.

Terakhir, inilah percakapan kedua lagi, kali ini dari sudut pandang Bicara dengan Pelanggan topik:

Cuplikan layar alur percakapan Bicara dengan Pelanggan topik saat Ucapan topik dipicu terlebih dahulu.

Mari ikuti langkah-langkah menyiapkan topik untuk menerima nilai dari topik lain. Kita akan menggunakan contoh saat ini, namun langkah yang sama dapat dilakukan kapan pun topik perlu mendapatkan nilai dari topik sebelumnya.

Siapkan tujuan topik

Tujuan topik adalah topik yang dialihkan, tujuan yang akan menerima nilai dari topik lain. Dalam contoh kita, ini adalah Bicara dengan Pelanggan.

  1. Buat atau pergi ke tujuan Anda topik.

  2. Tambahkan simpul Pertanyaan dan masukkan What should I call you? untuk pesannya.

  3. Di bawah Identify, pilih entitas bawaan Nama orang.

  4. Pilih variabel untuk membuka panel Properti variabel . Beri nama userName, lalu pilih Terima nilai dari topik lain.

    Cuplikan layar Bicara dengan Pelanggan topik dengan variabel userName dan propertinya disorot.

  5. Tambahkan simpul Pesan.

  6. Di kotak pesan, ketik I hope you're having a wonderful day, .

  7. Pilih ikon Sisipkan variabel ({x}), lalu pilih NamaPengguna.

  8. Pilih spasi setelah variabel dan ketik !.

  9. Simpan topik.

Siapkan sumber topik

Sumber topik adalah topik yang melakukan pengalihan, yang memberikan nilai yang akan diteruskan ke topik tujuan. Dalam contoh kita, ini adalah Salam.

  1. Buka sumber topik.

  2. Tambahkan node Redirect dan pilih tujuan topik.

  3. Pilih + Tambahkan input, lalu pilih variabel dari tujuan topik yang ingin Anda teruskan nilainya.

    Cuplikan layar Ucapan topik dengan variabel userName ditambahkan sebagai input di node pengalihan.

  4. Pilih ikon > , lalu pilih variabel yang nilainya ingin Anda teruskan.

    Cuplikan layar Ucapan topik dengan nilai variabel UserName dipilih.

    Node Redirect akan terlihat seperti ini:

    Cuplikan layar Ucapan topik dengan node Redirect yang telah selesai.

  5. Simpan topik.

Kembalikan nilai ke topik awal

Ketika topik dialihkan ke dan memperoleh variabel dengan mengajukan pertanyaan atau dengan cara lain, variabel tersebut dapat dikembalikan ke topik asli. Variabel tersebut menjadi bagian dari topik asli dan dapat digunakan seperti variabel lainnya. Informasi yang diperoleh kopilot tersedia di berbagai topik, sehingga mengurangi kebutuhan akan hal tersebut variabel global.

Mari kita lanjutkan dengan contoh pada bagian sebelumnya. Kami akan mengajukan pertanyaan baru di Bicara dengan Pelanggan topik, lalu mengembalikan jawabannya ke Ucapan topik.

Siapkan sumber topik untuk variabel yang dikembalikan

Saat Anda mengembalikan variabel ke topik, sumber topik adalah topik yang dialihkan, sumber yang memberikan nilai yang akan diteruskan kembali ke topik asli. Dalam contoh ini, Bicaralah dengan Pelanggan.

  1. Buka sumber topik.

  2. Tambahkan simpul Pertanyaan dan enter What city do you live in? untuk pesannya.

  3. Di bawah Mengenali, pilih entitas bawaan Kota.

  4. Pilih variabel untuk membuka panel Properti variabel . Beri nama userCity, lalu pilih Kembalikan nilai ke topik asli.

    Tangkapan layar dari Bicara dengan Pelanggan topik dengan variabel userCity dan propertinya disorot.

  5. Simpan topik.

Siapkan tujuan topik untuk variabel yang dikembalikan

Saat Anda mengembalikan variabel ke topik, tujuan topik adalah topik yang melakukan pengalihan, yang akan menerima nilai dari topik lain. Dalam contoh kita, ini adalah Salam.

  1. Pergi ke tujuan topik.

  2. Variabel yang Anda pilih di sumber topik akan muncul di node Redirect sebagai variabel keluaran.

    Cuplikan layar alur percakapan Salam topik dengan variabel yang dikembalikan di simpul Pengalihan.

  3. Simpan topik.