Dasar-dasar agen berbasis alur

Dokumen ini menjelaskan dasar-dasar penggunaan alur Dialogflow CX untuk membangun agen. Dokumen ini memberikan ringkasan konsep terpenting.

Agen

A Agen Dialogflow CX adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir. Agen ini adalah modul natural language understanding yang memahami nuansa bahasa manusia. Dialogflow CX menerjemahkan teks atau audio pengguna akhir selama percakapan menjadi data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda mendesain dan membangun agen Dialogflow CX untuk menangani bermacam percakapan yang diperlukan sistem Anda.

Agen Dialogflow CX mirip dengan agen manusia di pusat panggilan. Anda melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan pelatihan Anda tidak perlu terlalu eksplisit.

Flows

Dialog yang kompleks sering kali melibatkan beberapa topik percakapan. Misalnya, agen pengantaran pizza mungkin memiliki pesanan makanan, informasi pelanggan, dan konfirmasi sebagai topik berbeda. Setiap topik memerlukan beberapa giliran percakapan agar agen dapat memperoleh informasi yang relevan dari pengguna akhir.

Alur digunakan untuk menentukan topik ini dan jalur percakapan terkait. Tiap agen memiliki satu alur yang disebut Default Start Flow. Satu alur ini mungkin sudah cukup untuk agen sederhana. Agen yang lebih rumit mungkin memerlukan alur tambahan, dan anggota tim pengembangan yang berbeda dapat bertanggung jawab untuk membangun dan mempertahankan alur ini. Misalnya, alur agen pengantaran pizza mungkin terlihat seperti berikut:

Contoh diagram multi-alur.

Halaman

Percakapan (sesi) Dialogflow CX dapat dijelaskan dan divisualisasikan sebagai a mesin status. Status sesi direpresentasikan oleh halaman.

Untuk setiap alur, Anda menentukan banyak halaman, tempat halaman gabungan Anda dapat menangani percakapan lengkap tentang topik yang dirancang untuk alur tersebut. Pada satu waktu, hanya satu halaman yang menjadi halaman saat ini, halaman saat ini dianggap aktif, dan alur yang terkait dengan halaman tersebut dianggap aktif. Setiap alur memiliki halaman awal khusus . Saat alur pertama kali aktif, halaman awal akan menjadi halaman saat ini. Untuk setiap giliran percakapan, halaman saat ini bisa tetap sama atau beralih ke halaman lain.

Anda mengonfigurasi setiap halaman untuk mengumpulkan informasi dari pengguna akhir yang relevan untuk status percakapan yang direpresentasikan oleh halaman tersebut. Misalnya, Anda dapat membuat halaman (berwarna biru) dalam diagram di bawah untuk alur Pesanan Makanan agen pengantaran pizza. Node Mulai diagram mewakili halaman awal alur Pesanan Makanan. Setelah alur selesai, alur akan beralih ke alur Konfirmasi.

Contoh diagram multi-alur.

Jenis entitas

Jenis entitas digunakan untuk mengontrol cara data dari input pengguna akhir diekstrak.

Dialogflow CX menyediakan entity sistem yang telah ditentukan sebelumnya yang dapat mencocokkan banyak jenis data umum. Misalnya, ada entity sistem untuk mencocokkan tanggal, waktu, warna, alamat email, dan sebagainya. Anda juga dapat membuat entity kustom sendiri untuk mencocokkan data kustom. Misalnya, Anda dapat menentukan entity sayuran yang dapat mencocokkan jenis sayuran yang tersedia untuk dibeli dengan agen toko bahan makanan.

Parameter

Parameter digunakan untuk mengambil dan mereferensikan nilai yang telah diberikan oleh pengguna akhir selama sesi. Setiap parameter memiliki nama dan an jenis entity. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk menjalankan logika tertentu atau menghasilkan respons.

Formulir

Untuk setiap halaman, Anda dapat menentukan formulir, yang merupakan daftar parameter yang harus dikumpulkan dari pengguna akhir untuk halaman tersebut. Agen berinteraksi dengan pengguna akhir untuk beberapa giliran percakapan, hingga agen mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Agen mengumpulkan parameter ini dalam urutan yang ditentukan di halaman. Untuk setiap parameter formulir yang diperlukan, Anda juga memberikan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.

Misalnya, Anda dapat membuat formulir yang mengumpulkan nama dan nomor telepon pengguna akhir untuk halaman Collect Customer Info.

Intent

Intent mengategorikan maksud pengguna akhir untuk satu giliran percakapan.

Intent berisi data berikut:

Istilah Definisi
Nama tampilan Nama yang ditampilkan di konsol untuk intent.
Label Label yang membantu mengategorikan intent. Misalnya: intent utama.
Frasa pelatihan Frasa pelatihan adalah contoh frasa untuk apa yang mungkin diketik atau diucapkan pengguna akhir, yang dikenal sebagai input pengguna akhir. Jika input pengguna akhir menyerupai salah satu frasa ini, Dialogflow CX akan mencocokkan intent. Anda tidak perlu menentukan setiap contoh yang mungkin, karena machine learning bawaan Dialogflow CX memperluas daftar Anda dengan frasa lain yang serupa.
Parameter Anda menentukan frasa pelatihan untuk menggunakan parameter guna mengekstrak nilai dari bagian tertentu input pengguna akhir.
Pola DTMF Lihat DTMF untuk integrasi telepon.

Webhook

Webhook adalah layanan yang menghosting logika bisnis Anda atau memanggil layanan lain. Selama sesi, webhook memungkinkan Anda menggunakan data yang diekstrak oleh natural language processing Dialogflow CX untuk menghasilkan respons dinamis, memvalidasi data yang dikumpulkan, atau memicu tindakan di backend.

Webhook dapat berupa webhook standar atau webhook fleksibel. Dengan webhook standar, kolom permintaan dan respons ditentukan oleh Dialogflow CX. Dengan webhook fleksibel, Anda menentukan kolom permintaan dan respons.

Fulfillment

Untuk giliran percakapan agen, agen harus merespons pengguna akhir dengan jawaban atas pertanyaan, kueri untuk informasi, atau penghentian sesi. Agen Anda mungkin juga perlu menghubungi layanan Anda untuk menghasilkan respons dinamis atau mengambil tindakan untuk satu giliran. Fulfillment digunakan untuk mencapai semua hal ini.

Fulfillment dapat berisi salah satu hal berikut:

  • Pesan respons statis.
  • Panggilan webhook untuk respons dinamis dan/atau untuk mengambil tindakan.
  • Preset parameter untuk menetapkan atau mengganti nilai parameter.

Selama giliran agen, Anda dapat (dan terkadang sebaiknya) memanggil beberapa fulfillment, yang masing-masing dapat menghasilkan pesan respons. Dialogflow CX mempertahankan respons ini dalam antrean respons. Setelah giliran agen selesai, Dialogflow CX akan mengirimkan respons yang diurutkan kepada pengguna akhir.

Pengendali status

Pengendali status, atau pengendali saja, digunakan untuk mengontrol percakapan dengan membuat respons untuk pengguna akhir dan/atau dengan mengubah halaman saat ini. Untuk setiap giliran percakapan, pengendali dievaluasi dan dapat memengaruhi sesi. Pengendali memiliki tiga jenis data umum:

Istilah Definisi
Persyaratan pengendali Ini adalah persyaratan yang harus dipenuhi agar pengendali memiliki efek apa pun pada sesi. Pengendali dikatakan dipanggil jika memenuhi persyaratannya dan memengaruhi sesi dengan cara tertentu.
Fulfillment pengendali Jika pengendali dipanggil, fulfillment opsional digunakan untuk membuat respons bagi pengguna akhir. Respons ini ditentukan dalam data agen statis atau diambil secara dinamis dari layanan webhook Anda.
Target transisi pengendali Jika pengendali dipanggil, target transisi opsional digunakan untuk mengubah halaman saat ini. Halaman berikutnya hanya dapat berupa halaman awal alur atau halaman dalam alur yang saat ini aktif.

Ada dua jenis pengendali status dengan persyaratan pengendali yang berbeda:

Istilah Definisi
Rute Rute dipanggil saat input pengguna akhir cocok dengan intent dan/atau beberapa kondisi pada status sesi terpenuhi. Rute dengan persyaratan intent juga disebut rute intent. Rute dengan persyaratan kondisi saja juga disebut rute kondisi.
Pengendali peristiwa Pengendali peristiwa dipanggil saat peristiwa dipanggil. Beberapa peristiwa bawaan dipicu saat input pengguna akhir yang tidak terduga diterima, atau saat terjadi error webhook. Anda juga dapat menentukan peristiwa kustom yang dipanggil saat sesuatu terjadi di luar percakapan.

Ada tiga langkah untuk memproses pengendali status:

Istilah Definisi
1. Cakupan Pengendali harus berada dalam cakupan agar memiliki efek apa pun pada sesi. Cakupan ditentukan oleh apakah pengendali diterapkan ke alur, halaman, atau parameter formulir; dan apakah alur terkait aktif, halaman terkait aktif, atau agen saat ini mencoba mengisi parameter formulir terkait.
2. Evaluasi Setiap pengendali dalam cakupan dievaluasi secara berurutan. Jika persyaratan pengendali terpenuhi, pengendali akan lulus evaluasi.
3. Panggilan Jika pengendali berada dalam cakupan dan lulus evaluasi, pengendali akan dipanggil. Fulfillment terkait dipanggil, dan target transisi terkait diterapkan ke sesi.

Setelan lokasi dan regionalisasi

Saat membuat agen, Anda harus menentukan region sebagai lokasi agen. Permintaan yang dikirim ke agen Anda ditangani oleh layanan Google di region ini dan Dialogflow CX menyimpan data dalam penyimpanan secara fisik di dalam region atau lokasi geografis. Untuk mendapatkan performa terbaik, Anda harus memilih region yang dekat dengan layanan dan pengguna akhir Anda.

Setelah agen dibuat, lokasinya tidak dapat diubah. Untuk mengubah lokasi agen, Anda harus mengekspor dan memulihkan ke agen baru dengan lokasi yang berbeda.

Setiap lokasi memiliki setelan terkait yang berlaku di seluruh project Anda. Dalam sebagian besar kasus, Anda tidak perlu mengedit setelan lokasi ini, dan setelan default akan berfungsi dengan baik. Jika sistem Anda memerlukan kunci enkripsi yang dikelola pelanggan (sering kali diperlukan oleh entitas pemerintah atau industri yang diatur), baca lebih lanjut tentang setelan lokasi.

Konsol

Konsol Dialogflow adalah UI yang memungkinkan Anda membuat agen interaktif secara intuitif yang menggunakan playbook generatif, penyimpanan data generatif, dan alur deterministik.

Integrasi

Dialogflow CX menyediakan beberapa integrasi bawaan dengan platform percakapan lainnya. Integrasi ini menyediakan antarmuka pengguna untuk pengguna akhir, dan memanggil API untuk Anda. Yang perlu Anda lakukan hanyalah membangun agen Anda dan secara opsional menerapkan layanan webhook. Setiap integrasi menangani interaksi dengan cara khusus platform, jadi lihat dokumentasi integrasi tertentu untuk mengetahui detailnya.

Interactions

Untuk setiap giliran percakapan, interaksi akan terjadi. Selama interaksi, pengguna akhir mengirimkan input ke Dialogflow CX, dan Dialogflow CX mengirimkan respons. Anda memiliki dua opsi saat menerapkan sistem untuk menangani interaksi: menggunakan API atau menggunakan integrasi.

Saat menggunakan API, sistem Anda perlu menangani hal berikut:

  • Membangun agen.
  • Menyediakan antarmuka pengguna untuk pengguna akhir.
  • Memanggil Dialogflow API untuk setiap giliran percakapan guna mengirimkan input pengguna akhir ke API.
  • Kecuali jika respons agen Anda murni statis (tidak umum), Anda harus menghosting layanan webhook untuk menangani fulfillmentyang mendukung webhook.

Saat menggunakan integrasi, sistem Anda hanya perlu menangani hal berikut:

  • Membangun agen.
  • Secara opsional menerapkan layanan webhook.

Diagram berikut menunjukkan langkah-langkah yang terjadi untuk satu giliran percakapan sesi.

Diagram alur API.

  1. Pengguna akhir mengetik atau mengucapkan sesuatu, yang dikenal sebagai input pengguna akhir.
  2. Sistem integrasi atau antarmuka pengguna Anda menerima input dan meneruskannya ke Dialogflow API dalam permintaan intent deteksi.
  3. Dialogflow API menerima permintaan intent deteksi. API ini mencocokkan input dengan intent atau parameter formulir, menetapkan parameter sesuai kebutuhan, dan memperbarui status sesi. Jika perlu memanggil fulfillment yang mendukung webhook, API akan mengirimkan permintaan webhook ke layanan webhook Anda. Jika tidak, lanjutkan ke langkah 6.
  4. Layanan webhook Anda menerima permintaan webhook. Layanan Anda mengambil tindakan yang diperlukan, seperti memanggil API eksternal, membuat kueri atau memperbarui database, dll.
  5. Layanan webhook Anda membuat respons dan mengirimkan respons webhook kembali ke Dialogflow CX.
  6. Dialogflow CX membuat respons intent deteksi. Jika webhook dipanggil, Dialogflow CX akan menggunakan respons yang diberikan dalam respons webhook. Jika tidak ada webhook yang dipanggil, Dialogflow CX akan menggunakan respons statis yang ditentukan di agen. Dialogflow CX mengirimkan respons intent deteksi ke sistem integrasi atau antarmuka pengguna Anda.
  7. Sistem integrasi atau antarmuka pengguna Anda menerima respons intent deteksi dan meneruskan respons teks atau audio ke pengguna akhir.
  8. Pengguna akhir melihat atau mendengar respons.