Dasar-dasar agen berbasis alur

Dokumen ini menjelaskan dasar-dasar penggunaan alur Dialogflow CX untuk membangun agen. Bagian ini memberikan ringkasan konsep yang paling penting.

Agen

Agen Dialogflow CX adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir Anda. Ini adalah modul pemahaman bahasa alami yang memahami nuansa bahasa manusia. Dialogflow CX menerjemahkan teks atau audio pengguna akhir selama percakapan ke data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda mendesain dan membangun agen Dialogflow CX untuk menangani jenis percakapan yang diperlukan sistem Anda.

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

Flow

Dialog kompleks sering kali melibatkan beberapa topik percakapan. Misalnya, agen pengiriman pizza mungkin memiliki pesanan makanan, informasi pelanggan, dan konfirmasi sebagai topik yang 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. Setiap agen memiliki satu alur yang disebut Alur Mulai Default. 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 memelihara alur ini. Misalnya, alur agen pengiriman pizza mungkin terlihat seperti berikut:

Contoh diagram multi-alur.

Halaman

Percakapan (sesi) Dialogflow CX dapat dideskripsikan dan divisualisasikan sebagai mesin status. Status sesi diwakili 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 saat tertentu, tepat satu halaman adalah 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 awalnya menjadi aktif, halaman awal menjadi halaman saat ini. Untuk setiap giliran percakapan, halaman saat ini akan tetap sama atau bertransisi ke halaman lain.

Anda mengonfigurasi setiap halaman untuk mengumpulkan informasi dari pengguna akhir yang relevan untuk status percakapan yang diwakili oleh halaman tersebut. Misalnya, Anda dapat membuat halaman (berwarna biru) dalam diagram di bawah untuk alur Pesan Makanan dari agen pengiriman pizza. Node Start pada diagram mewakili halaman awal alur Food Order. Setelah alur selesai, alur akan beralih ke alur Konfirmasi.

Contoh diagram multi-alur.

Jenis entitas

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

Dialogflow CX menyediakan entitas 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 entitas 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 merekam dan merujuk nilai yang telah diberikan oleh pengguna akhir selama sesi. Setiap parameter memiliki nama dan jenis entitas. Tidak seperti input mentah pengguna akhir, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk melakukan beberapa logika atau membuat 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

Maksud (intent) mengategorikan maksud pengguna akhir untuk satu giliran percakapan.

Intent berisi data berikut:

Istilah Definisi
Nama tampilan Nama yang ditampilkan di konsol untuk maksud.
Label Label yang membantu mengategorikan maksud. Misalnya: maksud utama.
Frasa latihan Frasa pelatihan adalah contoh frasa yang mungkin diketik atau diucapkan oleh pengguna akhir, yang dikenal sebagai input pengguna akhir. Jika input pengguna menyerupai salah satu frasa ini, Dialogflow CX akan mencocokkan maksudnya. Anda tidak perlu menentukan setiap kemungkinan contoh, karena machine learning bawaan Dialogflow CX akan 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 mendapatkan informasi, atau penghentian sesi. Agen Anda mungkin juga perlu menghubungi layanan Anda untuk membuat respons dinamis atau melakukan tindakan untuk giliran percakapan. Pemenuhan digunakan untuk menyelesaikan semua ini.

Pemenuhan dapat berisi salah satu dari berikut ini:

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

Selama giliran agen, beberapa pemenuhan dapat dipanggil (dan terkadang diinginkan), yang masing-masing dapat menghasilkan pesan respons. Dialogflow CX menyimpan respons ini dalam antrean respons. Setelah giliran agen berakhir, Dialogflow CX mengirimkan respons yang diurutkan kepada pengguna akhir.

Pengendali status

Pengelola status, yang juga disebut pengelola, digunakan untuk mengontrol percakapan dengan membuat respons untuk pengguna akhir dan/atau dengan melakukan transisi halaman saat ini. Untuk setiap giliran percakapan, handler dievaluasi dan dapat memengaruhi sesi. Handler memiliki tiga jenis data umum:

Istilah Definisi
Persyaratan handler Berikut adalah persyaratan yang harus dipenuhi agar handler dapat memengaruhi sesi. Handler dikatakan dipanggil jika memenuhi persyaratannya dan memengaruhi sesi dengan cara tertentu.
Pemenuhan handler Jika handler 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 handler Jika handler dipanggil, target transisi opsional digunakan untuk mengubah halaman saat ini. Halaman berikutnya hanya dapat berupa halaman awal alur atau halaman dalam alur yang sedang 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 hanya persyaratan kondisi juga disebut rute kondisi.
Pengendali peristiwa Handler 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 Anda panggil saat terjadi sesuatu di luar percakapan.

Ada tiga langkah untuk memproses pengendali status:

Istilah Definisi
1. Cakupan Handler harus berada dalam cakupan agar dapat memengaruhi sesi. Cakupan ditentukan oleh apakah handler diterapkan ke alur, halaman, atau parameter formulir; dan oleh apakah alur terkait aktif, halaman terkait aktif, atau agen saat ini sedang mencoba mengisi parameter formulir terkait.
2. Evaluasi Setiap handler dalam cakupan dievaluasi secara berurutan. Jika persyaratan pengendali terpenuhi, pengendali tersebut akan lulus evaluasi.
3. Telepon Jika pengendali berada dalam cakupan dan lulus evaluasi, pengendali akan dipanggil. Pengiriman 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 dibuat, lokasi agen 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. Biasanya, 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 selengkapnya tentang setelan lokasi.

Konsol

Dialogflow CX menyediakan antarmuka pengguna web yang disebut konsol Dialogflow CX (kunjungi dokumentasi, buka konsol). Anda menggunakan konsol ini untuk membuat, membangun, dan menguji agen. Diagram ini memetakan setiap alur sebagai diagram mesin status percakapan, yang membuat agen kompleks mudah dirancang dan dipahami.

Konsol Dialogflow CX berbeda dengan Google Cloud Konsol (kunjungi dokumentasi, buka konsol). Konsol Dialogflow CX digunakan untuk mengelola agen Dialogflow CX, sedangkan Google Cloud Konsol digunakan untuk mengelola Google Cloudsetelan Dialogflow CX tertentu (misalnya, penagihan) dan Google Cloud resource lainnya.

Dalam sebagian besar kasus, Anda harus menggunakan konsol Dialogflow CX untuk membangun agen, tetapi Anda juga dapat menggunakan Dialogflow API untuk membangun agen untuk skenario lanjutan.

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 membuat agen 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, terjadi interaksi. 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 harus menangani hal berikut:

  • Buat agen.
  • Menyediakan antarmuka pengguna untuk pengguna akhir.
  • Panggil Dialogflow API untuk setiap giliran percakapan guna mengirimkan input pengguna akhir ke API.
  • Kecuali jika respons agen Anda benar-benar statis (tidak umum), Anda perlu menghosting layanan webhook untuk menangani pemenuhan yang mendukung webhook.

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

  • Buat agen.
  • Secara opsional, terapkan layanan webhook.

Diagram berikut menunjukkan langkah-langkah yang terjadi untuk satu giliran percakapan dalam 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 deteksi maksud.
  3. Dialogflow API menerima permintaan deteksi maksud. Fungsi ini mencocokkan input dengan parameter intent atau formulir, menetapkan parameter sesuai kebutuhan, dan memperbarui status sesi. Jika perlu memanggil pemenuhan yang mendukung webhook, webhook akan mengirim permintaan webhook ke layanan webhook Anda, jika tidak, lanjutkan ke langkah 6.
  4. Layanan webhook Anda menerima permintaan webhook. Layanan Anda melakukan tindakan yang diperlukan, seperti memanggil API eksternal, mengirim kueri atau mengupdate database, dll.
  5. Layanan webhook Anda membuat respons dan mengirimkan respons webhook kembali ke Dialogflow CX.
  6. Dialogflow CX membuat respons deteksi maksud. Jika webhook dipanggil, webhook akan menggunakan respons yang diberikan dalam respons webhook. Jika tidak ada webhook yang dipanggil, webhook akan menggunakan respons statis yang ditentukan di agen. Dialogflow CX mengirimkan respons deteksi maksud ke antarmuka pengguna atau sistem integrasi Anda.
  7. Antarmuka pengguna atau sistem integrasi Anda menerima respons deteksi maksud dan meneruskan respons teks atau audio ke pengguna akhir.
  8. Pengguna akhir melihat atau mendengar respons.