Mengonfigurasi dan membuat agen multibahasa

Dengan Copilot Studio, Anda dapat membuat agen yang berkomunikasi dengan pelanggan dalam berbagai bahasa. Anda dapat mengonfigurasi agen multibahasa untuk secara otomatis mendeteksi bahasa yang diinginkan berdasarkan pengaturan browser web pengguna agen dan merespons dalam bahasa yang sama, memberikan pengalaman yang lebih personal dan menarik bagi pelanggan.

Saat membuat agen, Anda menentukan bahasa utamanya.

Setelah Anda menambahkan bahasa sekunder ke agen, Anda bertanggung jawab untuk menyediakan terjemahan untuk pesan dalam topik yang Anda buat. Untuk agen yang menggunakan orkestrasi generatif, pesan yang dihasilkan akan diterjemahkan secara otomatis.

Ketika pelanggan memulai sesi dengan agen yang telah dipublikasikan, agen memilih salah satu bahasanya untuk menyesuaikan dengan bahasa yang ditentukan pada klien atau browser pelanggan. Jika agen tidak dapat mendeteksi bahasa, atau mendeteksi bahasa yang tidak didukung, agen akan menggunakan bahasa utamanya secara default.

Anda dapat merancang agen untuk mengubah bahasa yang digunakannya selama percakapan (lihat Membuat agen beralih ke bahasa lain). Anda juga dapat mengonfigurasi agen yang menggunakan orkestrasi generatif untuk beralih bahasa secara dinamis mengikuti bahasa yang digunakan dalam giliran percakapan saat ini (lihat Mengatur agen untuk pengalihan bahasa dinamis).

Untuk daftar bahasa yang didukung, lihat dukungan bahasa.

Catatan

Chatbot klasik hanya mendukung satu bahasa. Untuk informasi selengkapnya tentang mengonversi chatbot klasik menjadi agen, lihat Memutakhirkan ke penulisan terpadu Copilot Studio.

Menambahkan bahasa ke agen

  1. Buka halaman Pengaturan untuk agen, dan pilih Bahasa.

  2. Pilih Tambahkan bahasa.

  3. Pada panel Tambah bahasa, pilih bahasa yang ingin Anda tambahkan ke agen, lalu pilih Tambah.

  4. Tinjau daftar bahasa, kemudian tutup halaman Pengaturan.

Kelola pelokalan untuk agen multibahasa

Di Copilot Studio, Anda melakukan semua pengeditan topik dan konten dalam bahasa utama agen. Bagian ini menjelaskan cara mengunduh string dari agen Anda dan menerjemahkannya ke bahasa sekunder agen Anda. Setelah Anda mengunggah string yang telah diterjemahkan, Anda dapat mengganti bahasa di panel pengujian dan memverifikasi bahwa percakapan dalam bahasa sekunder juga berjalan seperti yang diharapkan.

Mempersiapkan konten yang dilokalkan

Saat Anda pertama kali mengunduh file pelokalan untuk bahasa sekunder, semua string berada dalam bahasa utama agen. Setelah Anda mengunduh file pelokalan, gunakan dengan proses pelokalan pilihan Anda.

  1. Buka halaman Pengaturan untuk agen Anda, dan pilih Bahasa.

  2. Di halaman Bahasa, dalam daftar bahasa sekunder, pilih Unggah untuk bahasa yang ingin Anda perbarui.

  3. Di panel Perbarui pelokalan, pilih format JSON atau ResX untuk mengunduh file pelokalan saat ini untuk bahasa tersebut.

    Catatan

    File yang diunduh berisi konten pelokalan terbaru untuk agen. Untuk mengunduh versi sebelumnya dari file pelokalan, buka solusi agen.

  4. Buka file yang diunduh dan ganti string bahasa utama dengan teks terjemahan yang sesuai.

  5. Kembali ke panel Perbarui pelokalan, pilih Telusuri, dan unggah file yang diterjemahkan.

  6. Tutup panel Perbarui pelokalan dan halaman Pengaturan.

Memperbarui konten yang dilokalkan

Jika Anda mengubah string bahasa utama, Anda juga harus memperbarui konten dalam bahasa sekunder. Proses ini mencakup konten baru dan konten yang dimodifikasi. Perubahan bertahap tidak diterjemahkan secara otomatis. Anda harus mengunduh file JSON atau ResX bahasa sekunder, dan memperbarui string yang belum diterjemahkan menggunakan proses pelokalan pilihan Anda.

Skenario berikut adalah tipikal alur kerja untuk konten yang diterjemahkan. Anda sebelumnya menerjemahkan bahasa utama (en-US) ke dalam bahasa sekunder (fr-FR), dan menambahkan dan memodifikasi konten dalam bahasa utama. Saat Anda mengunduh file pelokalan untuk bahasa sekunder, semua string baru akan berada dalam bahasa utama (en-US), dan string yang sebelumnya telah diterjemahkan tetap berada dalam bahasa sekunder (fr-FR). Namun, string yang sebelumnya telah diterjemahkan yang teks aslinya telah diubah sejak terakhir kali Anda mengunggah file pelokalan, tetap muncul dalam bentuk terjemahan terakhir di bahasa sekunder. Karena ID string tidak berubah, string bahasa sekunder dan string bahasa utama mungkin menjadi tidak sinkron setelah terjadi perubahan pada bahasa utama. Pastikan membandingkan file pelokalan baru dengan versi yang terakhir Anda unggah—untuk mengidentifikasi perubahan string bahasa utama—merupakan bagian dari proses pelokalan Anda.

Menyediakan konten dinamis dari Kartu Adaptif untuk pelokalan

File pelokalan tidak menyertakan string tipe campuran dari Kartu Adaptif. Jika Anda perlu melokalkan Kartu Adaptif dengan string yang dapat menyertakan teks statis dan variabel (konten dinamis), Anda harus menggunakan solusi berikut. Prosedur ini menunjukkan cara menggunakan node Atur variabel teks untuk menyimpan string lengkap yang berisi teks statis dan variabel dalam variabel perantara. Kemudian Anda hanya menggunakan variabel perantara tersebut di Kartu Adaptif Anda. Saat Anda mengunduh file pelokalan untuk agen Anda, nilai variabel perantara Anda, beserta teks statis dan referensi variabelnya, tersedia untuk pelokalan sebagai bagian dari tindakan setVariable.

Agar konten dinamis pada Kartu Adaptif dapat dilokalkan:

  1. Tambahkan node Atur nilai variabel sebelum Kartu Adaptif Anda. Langkah ini membuat representasi YAML yang dapat Anda perbarui menggunakan editor kode untuk mengonversi node tersebut menjadi node Atur variabel teks. Anda tidak dapat membuat Atur node variabel teks langsung dari kanvas penulisan.

  2. Di node Tetapkan nilai variabel, buat variabel baru tetapi jangan tetapkan nilainya.

  3. Buka editor kode untuk topik Anda.

  4. Di editor kode, temukan bagian yang mewakili node Atur nilai variabel Anda, dan ganti kind: SetVariable dengan kind: SetTextVariable. Perubahan ini mengonversi node Atur nilai variabel menjadi Anda Atur variabel teks.

  5. Tutup editor kode.

  6. Pilih bidang paling bawah dari node Atur variabel teks dan masukkan string lengkap dengan teks statis serta variabel yang ingin Anda tampilkan di Kartu Adaptif Anda. Sisipkan variabel dengan cara yang sama seperti Anda menyisipkan variabel dalam pesan.

  7. Perbarui Kartu Adaptif Anda dengan referensi ke variabel baru ini.

  8. Simpan topik Anda. Anda sekarang dapat mengunduh file pelokalan dan memverifikasi bahwa file tersebut menyertakan konten dinamis untuk Kartu Adaptif Anda.

Pelajari lebih lanjut di Melokalkan konten Kartu Adaptif.

Menguji agen multibahasa

  1. Buka panel uji.

  2. Pilih tiga titik () di bagian atas panel uji, lalu pilih bahasa yang Anda inginkan. Panel uji dimuat ulang, kali ini menggunakan bahasa yang dipilih. Kanvas penulisan tetap menggunakan bahasa utama dan Anda tidak dapat menyimpan perubahan yang Anda buat pada topik sampai Anda beralih kembali ke bahasa utama.

  3. Untuk menguji agen, masukkan pesan dalam bahasa yang dipilih.

Anda juga dapat mengatur bahasa browser Anda ke salah satu bahasa agen Anda, dan buka situs web demo bawaan. Situs web demo terbuka dalam bahasa yang ditentukan, dan agen mengobrol dalam bahasa tersebut.

Membuat agen beralih ke bahasa lain

Saat membuat agen, Anda dapat mengonfigurasi agen untuk beralih ke bahasa lain di tengah percakapan. Logika dapat berada dalam topik apa pun di agen. Namun, praktik terbaik adalah mengganti bahasa langsung setelah node Pertanyaan, yang memastikan bahwa semua pesan berikut hingga node Pertanyaan berikutnya ada dalam bahasa yang sama.

Untuk mengubah bahasa agen saat ini, atur User.Languagevariabel sistem ke salah satu bahasa sekunder agen Anda. Pilihan ini segera mengubah bahasa yang digunakan oleh agen Anda.

Menyiapkan agen untuk peralihan bahasa dinamis

Catatan

Fitur ini hanya tersedia untuk agen dengan orkestrasi generatif diaktifkan.

Anda dapat mengonfigurasi agen untuk mendeteksi bahasa yang digunakan pelanggan dan merespons dalam bahasa yang sama. Dengan konfigurasi ini, agen dapat beralih bahasa beberapa kali selama satu percakapan. Skenario berikut menunjukkan cara menyiapkan agen untuk beralih antara bahasa Belanda dan Inggris. Anda dapat memperluasnya untuk kombinasi bahasa apa pun yang didukung agen Anda.

Peringatan

Metode pengalihan bahasa dinamis ini tidak kompatibel dengan deteksi bahasa berbasis browser. Setelah topik yang mendeteksi bahasa pengguna secara dinamis, menetapkan variabel User.Language, deteksi bahasa berbasis browser tidak akan berlaku lagi untuk pengguna tersebut, bahkan jika topik tersebut kemudian dinonaktifkan atau dihapus. Jika Anda ingin bereksperimen atau memvalidasi kedua pendekatan, gunakan agen pengujian terpisah. Setelah Anda menguji peralihan bahasa dinamis, Anda harus menghapus status bahasa pengguna yang tersimpan sebelum mencoba menguji deteksi bahasa berbasis browser.

Skenario ini menggunakan topik dengan pemicu topik Pesan diterima. Pemicu topik ini memungkinkan agen Anda memeriksa setiap pesan yang diterimanya. Topik ini menggunakan perintah kustom untuk mendeteksi bahasa dan kondisi untuk mengatur variabel sistem bahasa agen.

  1. Verifikasi bahwa agen Anda dikonfigurasi untuk mendukung semua bahasa yang Anda inginkan.

  2. Buat topik.

  3. Ganti jenis pemicu default untuk topik dengan Pesan diterima.

  4. Menambahkan perintah ke topik:

    1. Pilih ikon Tambah node di bawah node Pemicu.

    2. Pilih Tambahkan alat>Perintah baru.

    3. Di editor perintah, masukkan nama staf untuk perintah Anda, seperti "Deteksi bahasa."

    4. Di panel Instruksi , masukkan "Tentukan bahasa untuk menulis pesan ini: ".

    5. Di bagian bawah panel Instruksi, pilih Tambahkan Konten dan pilih Teks. Sebuah jendela muncul yang meminta Anda untuk memasukkan nama dan sampel pesan.

    6. Untuk Nama, masukkan "Pesan." Untuk Data sampel, masukkan "Pesan dari pengguna," dan pilih Tutup.

    7. Di panel Model respons, alihkan format Output ke JSON.

    8. Pilih Uji. Perintah Anda menunjukkan literal JSON, dengan satu properti yang mengidentifikasi bahasa sebagai Inggris.

      Cuplikan layar perintah yang dikonfigurasi untuk mendeteksi bahasa pesan.

    9. Pilih Simpan. Node Perintah muncul di kanvas.

  5. Konfigurasikan node Perintah :

    1. Untuk Input, pilih variabel sistemActivity.Text (teks pesan yang masuk).
    2. Untuk Output, buat variabel baru yang disebut DetectedLanguage.
  6. Buat cabang logika Anda berdasarkan bahasa yang terdeteksi:

    1. Tambahkan sebuah kondisi di bawah node Perintah.

    2. Dasarkan kondisi pada variabel kustom DetectedLanguage.structuredOutput.language, yang berisi nama bahasa yang terdeteksi.

    3. Tambahkan cabang kondisi untuk setiap bahasa yang perlu Anda deteksi.

    4. Di bawah setiap cabang, tambahkan node Atur nilai variabel untuk mengatur User.Language variabel sistem yang sesuai. Gambar berikut menampilkan topik dengan kondisi untuk beralih antara bahasa Belanda dan Inggris.

      Cuplikan layar topik yang mendeteksi dan mengalihkan bahasa agen.

Memulihkan deteksi bahasa berbasis browser

Ketika agen yang dikonfigurasi untuk pengalihan bahasa dinamis mengatur variabel sistem User.Language, bahasa yang dipilih tetap ada sebagai penimpaan untuk pengguna agen. Bahasa pilihan pengguna ditentukan dalam urutan prioritas berikut:

  1. Preferensi bahasa yang secara eksplisit diatur oleh pengguna dan disimpan sebagai penimpaan untuk pengguna ini (prioritas tertinggi).
  2. Pesan masuk dari pengguna dalam bahasa yang sesuai dengan salah satu bahasa yang didukung agen (Activity.Locale).
  3. Bahasa utama agen (fallback).

Untuk menghapus bahasa yang telah disimpan setelah menguji peralihan bahasa dinamis:

  • Kirim /debug clearstate ke agen. Perintah ini menghapus penimpaan bahasa dari status pengguna.

Memecahkan masalah agen multibahasa

Bagian ini memberikan tips untuk membantu Anda memahami perilaku agen multibahasa yang tidak terduga.

Perilaku agen multibahasa untuk bahasa yang tidak dikonfigurasi

Jika pengguna mengonfigurasi browser untuk bahasa yang tidak dikonfigurasi untuk agen, agen selalu kembali ke bahasa utamanya.

Tentukan bahasa primer untuk agen saat Anda membuat agen. Anda tidak dapat mengubah bahasa utama setelah pembuatan tetapi Anda dapat mengubah wilayah untuk bahasa utama agen, jika lebih dari satu wilayah tersedia.

Perilaku agen multibahasa untuk terjemahan yang hilang

Jika Anda menambahkan pesan ke agen dalam bahasa utamanya tetapi tidak mengunggah terjemahan untuk pesan baru, agen akan menampilkan perubahan yang belum diterjemahkan dalam bahasa utamanya. Selalu pastikan terjemahan sudah terbaru setelah melakukan perubahan pada agen.

File pelokalan tidak menyertakan string tipe campuran dari Kartu Adaptif. Jika Anda perlu melokalkan Kartu Adaptif dengan string dapat menyertakan teks statis dan variabel (konten dinamis), Anda harus menggunakan solusi alternatif. Pelajari cara menyimpan string tipe campuran ke variabel teks sebelum menggunakannya di Kartu Adaptif.

Kesalahan saat menerbitkan agen multibahasa

Saat Anda mencoba memublikasikan agen multibahasa, Anda mungkin melihat pesan kesalahan "Validasi untuk bot gagal" dengan kode kesalahan respons mentah, SynonymsNotUnique. Kesalahan ini berarti file pelokalan Anda berisi sinonim duplikat atau sinonim yang nilainya sama dengan nilai DisplayName. Anda biasanya menemui kesalahan ini saat node berisi Entity.Definition.'closedListItem' dengan salah satu skenario berikut terjadi:

  • Salah satu elemen Synonyms tidak unik.
  • Salah satu elemen Synonyms memiliki nilai yang sama dengan elemen DisplayName.

Semua Synonyms untuk entitas yang sama harus unik, dan memiliki nama yang berbeda dari elemen DisplayName.

Untuk memperbaiki kesalahan, tinjau file JSON atau ResX untuk bahasa sekunder Anda, dan identifikasi instans apa pun jika kondisi ini ada.