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. Modul 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 jenis 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.
Flow
Dialog yang kompleks sering kali melibatkan beberapa topik percakapan. Misalnya, agen pengantaran 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 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 pengiriman pizza mungkin terlihat seperti berikut:Halaman
Percakapan (sesi) Dialogflow CX dapat dijelaskan dan divisualisasikan sebagai mesin status. Status sesi direpresentasikan oleh halaman.
Untuk setiap alur, Anda menentukan banyak halaman, tempat gabungan halaman ini dapat menangani percakapan lengkap tentang topik yang dicakup oleh 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 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.
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 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 mengambil dan mereferensikan nilai yang telah diberikan oleh pengguna akhir selama sesi. Setiap parameter memiliki nama dan 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 maksud. |
| Label | Label yang membantu mengategorikan maksud. Misalnya: niat utama. |
| Frasa pelatihan | Frasa pelatihan adalah contoh frasa untuk apa yang mungkin diketik atau diucapkan pengguna akhir, yang dikenal sebagai input pengguna akhir. Saat input pengguna menyerupai salah satu frasa ini, Dialogflow CX akan mencocokkan intent. 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 juga mungkin 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 selesai, Dialogflow CX mengirimkan respons yang diurutkan kepada pengguna akhir.
Pengendali status
Handler status, atau disebut handler, digunakan untuk mengontrol percakapan dengan membuat respons bagi 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 akan 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 handler status dengan persyaratan handler 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 handler 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 mencoba mengisi parameter formulir terkait. |
| 2. Evaluasi | Setiap handler dalam cakupan dievaluasi secara berurutan. Jika persyaratan handler terpenuhi, handler tersebut lulus evaluasi. |
| 3. Telepon | Jika handler berada dalam cakupan dan lulus evaluasi, handler tersebut akan dipanggil. Semua fulfillment terkait dipanggil, dan semua 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. 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
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 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 mengirim 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.
- Pengguna akhir mengetik atau mengucapkan sesuatu, yang dikenal sebagai input pengguna akhir.
- Antarmuka pengguna atau sistem integrasi Anda menerima input dan meneruskannya ke Dialogflow API dalam permintaan deteksi maksud.
- 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 mengirimkan permintaan webhook ke layanan webhook Anda, jika tidak, lanjutkan ke langkah 6.
- Layanan webhook Anda menerima permintaan webhook. Layanan Anda akan melakukan tindakan yang diperlukan, seperti memanggil API eksternal, membuat kueri atau memperbarui database, dll.
- Layanan webhook Anda membuat respons dan mengirimkan respons webhook kembali ke Dialogflow CX.
- 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.
- Antarmuka pengguna atau sistem integrasi Anda menerima respons deteksi maksud dan meneruskan respons teks atau audio ke pengguna akhir.
- Pengguna akhir melihat atau mendengar respons.