Evaluasi playbook

Panduan ini menjelaskan cara menggunakan fitur evaluasi bawaan di konsol Dialogflow CX untuk memverifikasi fungsi agen Anda dan mencegah regresi setelah update. Dialogflow menyediakan metrik siap pakai untuk membantu mengevaluasi performa agen Anda.

Semua metrik kecuali latensi memerlukan setidaknya satu kasus pengujian, "respons emas" yang digunakan Dialogflow untuk membandingkan performa agen guna menghitung performanya. Setiap kasus pengujian dapat diukur dalam konteks lingkungan, yang memungkinkan Anda menentukan berbagai versi playbook, alur, dan alat yang akan digunakan dalam evaluasi performa agen.

(Opsional) Buat lingkungan

Membuat lingkungan bersifat opsional. Jika Anda tidak membuatnya, nilai defaultnya adalah Draf.

  1. Untuk membuat lingkungan, klik Environments di menu sebelah kiri, lalu pilih + Create.
  2. Pilih versi playbook, alur, dan alat yang ingin Anda gunakan untuk mengukur performa agen.
  3. Klik Simpan untuk menyimpan lingkungan.

Membuat kasus pengujian

Anda memiliki opsi untuk membuat kasus pengujian dari percakapan yang ada di histori percakapan, membuat percakapan baru untuk disimpan sebagai kasus pengujian, atau mengimpor kasus pengujian ke Dialogflow.

Membuat kasus pengujian di konsol

  1. Buka Histori percakapan di menu sebelah kiri.
  2. Untuk membuat percakapan baru, aktifkan agen Anda (misalnya, dengan memanggil nomor telepon agen) untuk membuat percakapan di histori percakapan. Jika Anda memiliki percakapan yang ingin digunakan sebagai kasus pengujian, pilih percakapan tersebut.
  3. Lihat percakapan dan verifikasi respons agen, alat yang dipanggil, dan bagaimana setiap respons terdengar. Jika sudah puas, klik Buat kasus pengujian di pojok kanan atas jendela.
  4. Berikan nama tampilan untuk kasus pengujian dan tentukan ekspektasi Anda terhadap peristiwa yang seharusnya terjadi di tingkat percakapan. Hal ini dapat mencakup alat, playbook, dan alur yang Anda harapkan dipanggil dalam percakapan. Klik +Tambahkan ekspektasi untuk menambahkan ekspektasi lainnya. Agar ekspektasi dievaluasi dalam urutan berurutan seperti yang tercantum (dari atas ke bawah), aktifkan Validasi berurutan.
  5. Klik Simpan untuk menyimpan kasus pengujian Anda.

Mengupload kasus pengujian

  1. Kasus pengujian harus dalam format CSV berikut.
  2. Untuk mengupload kasus pengujian ke sistem, klik Impor di bagian atas menu kasus pengujian.
  3. Di menu yang muncul, pilih file yang disimpan secara lokal atau masukkan jalur ke bucket Cloud Storage-nya.
  4. Kasus pengujian Anda sekarang akan muncul di menu kasus pengujian.

Menjalankan kasus pengujian

  1. Klik Test case di menu sebelah kiri, lalu pilih test case yang ingin Anda gunakan untuk membandingkan performa agen. Ini dapat berupa satu kasus pengujian atau beberapa kasus pengujian.
  2. Klik Run selected test cases.

Hasil tes

  1. Akses hasil: Hasil eksekusi uji coba terbaru ditampilkan untuk setiap kasus pengujian dalam tampilan Kasus Pengujian setelah selesai:
    1. Kemiripan semantik: Mengukur seberapa mirip percakapan agen dengan "respons ideal" (respons dalam Kasus Pengujian). Respons emas diperlukan untuk menerima metrik ini. Nilainya dapat berupa 0 (tidak konsisten), 0,5 (cukup konsisten), atau 1 (sangat konsisten).
    2. Akurasi panggilan alat: Nilai yang mencerminkan seberapa akurat percakapan menyertakan alat yang diharapkan dipanggil selama percakapan. Nilai berkisar dari 0-1. Jika tidak ada alat yang digunakan dalam percakapan, akurasi akan ditampilkan sebagai -- (T/A).
    3. Latensi: Total waktu yang dibutuhkan agen untuk memproses permintaan pengguna akhir dan merespons pengguna (perbedaan antara akhir ucapan pengguna dan awal respons agen). Unit dalam hitungan detik.
  2. Perbarui kasus pengujian standar: Jika proses berjalan terbaru mencerminkan perubahan yang diharapkan karena update agen, Anda dapat mengklik "Simpan sebagai standar" untuk mengganti Kasus Pengujian asli.
  3. Memfilter dan mengurutkan hasil: Anda dapat memfilter dan mengurutkan hasil evaluasi berdasarkan metrik yang dihasilkan atau berdasarkan Lingkungan tertentu. Hal ini berguna untuk melacak perubahan performa setelah setiap pembaruan.

Memformat kasus pengujian impor batch

Bagian ini menjelaskan cara memformat file CSV untuk mengimpor kasus pengujian batch untuk agen Anda. Sistem membaca file ini untuk membuat serangkaian kasus pengujian terstruktur, yang masing-masing berisi satu atau beberapa giliran percakapan.

Satu kasus pengujian dapat mencakup beberapa baris dalam file CSV. Baris pertama kasus pengujian menentukan properti keseluruhannya (seperti nama dan bahasanya). Setiap baris berikutnya untuk kasus pengujian tersebut menentukan satu giliran percakapan bolak-balik dalam percakapan (pengguna mengatakan sesuatu, agen diharapkan membalas).

File CSV harus memiliki baris header sebagai baris pertama. Header ini menentukan data di setiap kolom.

Header yang diperlukan

Dua header yang diperlukan harus dalam urutan yang ditampilkan. Keduanya diperlukan untuk baris pertama kasus pengujian baru. Anda dapat memulai kasus pengujian baru dengan memberikan nilai DisplayName dan LanguageCode baru.

  • DisplayName: Nama kasus pengujian Anda. Kolom ini hanya diisi untuk baris pertama kasus pengujian baru.
  • LanguageCode: Kode bahasa untuk pengujian (misalnya, en, en-US, es).

Header opsional

Anda dapat menyertakan salah satu header opsional berikut untuk memberikan detail selengkapnya untuk kasus pengujian Anda. Kolom ini dapat berada dalam urutan apa pun setelah dua kolom pertama yang wajib ada.

Metadata kasus pengujian

  • Tag: Tag yang dipisahkan spasi untuk mengatur pengujian (misalnya, "aktivasi pembayaran").
  • Catatan: Catatan teks bebas atau deskripsi tujuan kasus pengujian.
  • TestCaseConfigV2.StartResource: Tentukan alur atau playbook untuk memulai pengujian.

Input pengguna

  • UserInput.Input.Text: Teks yang "diketik" pengguna untuk giliran tertentu.
  • UserInput.InjectedParameters: Parameter yang akan dimasukkan ke dalam percakapan di awal giliran, diformat sebagai string JSON.

Output agen

  • AgentOutput.QueryResult.ResponseMessages.Text: Teks persis yang Anda nyatakan dibalas oleh agen.
  • AgentOutput.QueryResult.Parameters: Parameter yang Anda nyatakan diekstrak oleh agen, diformat sebagai string JSON.

Ekspektasi

  • OrderedExpectations.ExpectedFlow: Alur yang Anda harapkan aktif setelah giliran.
  • OrderedExpectations.ExpectedIntent: Maksud yang Anda harapkan cocok untuk giliran.
  • OrderedExpectations.ExpectedAgentReply: Teks yang Anda harapkan akan dijawab oleh agen. Dapat berupa substring dari respons lengkap.
  • OrderedExpectations.ExpectedOutputParameter: Parameter yang Anda harapkan akan ditetapkan di akhir giliran, diformat sebagai string JSON.

Metadata audio

  • AudioTurnMetadata Metadata untuk pengujian berbasis audio, diformat sebagai string JSON.

Membangun kasus pengujian

Kasus pengujian diatur berdasarkan baris data.

  1. Untuk memulai kasus pengujian baru, isi baris metadatanya.
    • Aturan: Baris ini harus memiliki nilai di kolom DisplayName.
    • Tindakan: Masukkan nilai untuk DisplayName dan LanguageCode. Anda juga dapat menambahkan tag, catatan, atau TestCaseConfigV2.StartResource di baris ini. Kolom giliran percakapan (seperti UserInput.Input.Text) harus dibiarkan kosong di baris ini. Jika menggunakan tag, pisahkan setiap tag dengan spasi. Contoh: tag1 tag2 tag3. Jika menggunakan TestCaseConfigV2.StartResource, beri awalan nama resource dengan start_flow: atau start_playbook:. Contoh: start_flow:projects/p/locations/l/agents/a/flows/f.
  2. Tambahkan giliran percakapan ke kasus pengujian yang baru saja Anda mulai dengan menambahkan baris baru tepat di bawahnya.
    • Aturan: Kolom DisplayName harus kosong. Hal ini memberi tahu parser bahwa ini adalah giliran yang termasuk dalam kasus pengujian sebelumnya.
    • Tindakan: Isi kolom yang menjelaskan tindakan pengguna dan respons agen yang diharapkan untuk giliran ini, seperti UserInput.Input.Text dan OrderedExpectations.ExpectedAgentReply. Untuk kolom yang memerlukan JSON, Anda harus memberikan objek JSON yang valid sebagai string. Contoh: {"param_name": "param_value", "number_param": 123}.