Dasar-dasar Dialogflow CX

Dokumen ini menjelaskan dasar-dasar penggunaan Dialogflow CX. Ini memberikan gambaran umum tentang konsep yang paling penting.

Agen

Agen Dialogflow CX adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir Anda. Modul ini merupakan modul natural language understanding yang memahami nuansa bahasa manusia. Dialogflow 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 untuk menangani jenis percakapan yang diperlukan untuk sistem Anda.

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

Flows

Dialog kompleks sering kali melibatkan banyak topik percakapan. Misalnya, agen pengiriman pizza dapat 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.

Flow digunakan untuk menentukan topik ini dan jalur percakapan terkait. Setiap agen memiliki satu alur yang disebut Alur Mulai Default. Alur tunggal ini mungkin yang Anda perlukan 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.

Alur Dialogflow CX memiliki tujuan yang sama dengan sub-agen untuk agen mega Dialogflow ES. Flow memberikan kontrol percakapan yang lebih baik, dan tidak menimbulkan biaya tambahan.

Halaman

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

Untuk setiap alur, Anda menentukan banyak halaman, tempat halaman gabungan Anda dapat menangani percakapan lengkap tentang topik yang didesain untuk alur tersebut. Pada saat tertentu, hanya satu halaman yang dianggap 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 pada awalnya menjadi aktif, halaman awal menjadi halaman saat ini. Untuk setiap percakapan 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. Misalnya, Anda dapat membuat halaman (berwarna biru) pada diagram di bawah untuk alur Pesanan Makanan milik agen pengiriman pizza. Node Start pada diagram mewakili halaman awal alur Food Order. Setelah selesai, alur akan beralih ke alur Konfirmasi.

Contoh diagram multi-alur.

Jenis entity

Jenis entity digunakan untuk mengontrol cara mengekstrak data dari input pengguna akhir. Jenis entity CX sangat mirip dengan jenis entity ES.

Dialogflow menyediakan entity sistem yang telah ditentukan dan dapat mencocokkan dengan banyak jenis data umum. Misalnya, ada entity sistem untuk tanggal, waktu, warna, alamat email yang cocok, dan sebagainya. Anda juga dapat membuat entity kustom sendiri untuk mencocokkan data kustom. Misalnya, Anda dapat menentukan entitas 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 disediakan 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 beberapa logika atau menghasilkan respons.

Parameter CX mirip dengan parameter ES, tetapi utilitas dan cakupannya telah diperluas, dan sintaksis untuk merujuk parameter telah berubah.

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 mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Agen mengumpulkan parameter ini dalam urutan yang ditentukan pada halaman. Untuk setiap parameter formulir yang diperlukan, Anda juga menyediakan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.

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

Pengisian formulir CX mirip dengan pengisian slot ES.

Intent

Intent mengkategorikan niat pengguna akhir untuk satu giliran percakapan. Dibandingkan dengan intent ES, intent CX telah disederhanakan untuk menjadikannya resource yang lebih dapat digunakan kembali.

Intent berisi data berikut:

Masa Berlaku Definisi
Nama tampilan Nama yang ditampilkan di konsol untuk intent.
Label Label yang membantu mengategorikan intent. Misalnya: intent head.
Frasa latihan Frasa pelatihan adalah contoh frasa yang mungkin diketik atau dikatakan pengguna akhir, yang dikenal sebagai input pengguna akhir. Jika input pengguna akhir menyerupai salah satu frasa tersebut, Dialogflow akan cocok dengan intent. Anda tidak perlu menentukan setiap contoh yang mungkin, karena machine learning bawaan Dialogflow akan memperluas daftar Anda dengan frasa lain yang serupa.
Parameter Anda menentukan frasa pelatihan untuk menggunakan parameter guna mengekstrak nilai dari bagian tertentu pada 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 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. Dengan webhook fleksibel, Anda menentukan kolom permintaan dan respons.

Fulfillment

Untuk percakapan yang dilakukan 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 menghasilkan respons dinamis atau mengambil tindakan untuk satu giliran. Fulfillment digunakan untuk menyelesaikan semua ini.

Fulfillment dapat berisi salah satu dari hal berikut:

  • Pesan respons statis.
  • Webhook memanggil respons dinamis dan/atau untuk mengambil tindakan.
  • Preset parameter untuk menetapkan atau mengganti parameter value.

Selama giliran agen, ada kemungkinan (dan terkadang diinginkan) untuk memanggil beberapa fulfillment, yang masing-masing dapat menghasilkan pesan respons. Dialogflow menyimpan respons ini dalam antrean respons. Setelah giliran agen selesai, Dialogflow akan mengirimkan respons yang diurutkan kepada pengguna akhir.

Fulfillment ES terbatas pada menghubungkan layanan webhook. Cakupan fulfillment telah ditingkatkan untuk CX, sehingga kini mencakup semua jenis perintah dan respons.

Pengendali status

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

Masa Berlaku Definisi
Persyaratan pengendali Ini adalah persyaratan yang harus dipenuhi agar pengendali dapat berpengaruh pada sesi. Pengendali dikatakan dipanggil jika telah memenuhi persyaratannya dan memengaruhi sesi dengan cara tertentu.
Fulfillment pengendali Jika pengendali dipanggil, fulfillment opsional akan 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 akan 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:

Masa Berlaku Definisi
Rute Rute dipanggil saat input pengguna akhir cocok dengan intent dan/atau kondisi tertentu pada status sesi terpenuhi. Rute dengan persyaratan intent juga disebut rute intent. Rute yang hanya memiliki persyaratan kondisi 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 ketika sesuatu terjadi di luar percakapan.

Ada tiga langkah untuk memproses pengendali status:

Masa Berlaku Definisi
1. Cakupan Pengendali harus berada dalam cakupan agar dapat berpengaruh pada sesi. Cakupan ditentukan oleh apakah pengendali diterapkan ke alur, halaman, atau parameter formulir; dan berdasarkan apakah alur yang terkait aktif, halaman terkait aktif, atau agen saat ini mencoba mengisi parameter formulir yang terkait.
2. Evaluasi Setiap pengendali dalam cakupan dievaluasi secara berurutan. Jika persyaratan pengendali terpenuhi, pengendali akan lulus evaluasi.
3. Panggilan Telepon Jika pengendali berada dalam cakupan dan lulus evaluasi, pengendali akan dipanggil. Fulfillment yang terkait akan dipanggil, dan semua target transisi yang terkait akan diterapkan ke sesi tersebut.

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 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. Pada umumnya, 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 setelan lokasi.

Konsol

Dialogflow menyediakan antarmuka pengguna web yang disebut Konsol Dialogflow CX (lihat dokumentasi, buka konsol). Anda dapat menggunakan konsol ini untuk membuat, membangun, dan menguji agen CX. Konsol CX memiliki tujuan yang mirip dengan Konsol ES, tetapi antarmuka pengguna Konsol CX jauh lebih visual. Diagram ini membuat grafik setiap alur sebagai diagram mesin status percakapan yang membuat agen kompleks lebih mudah didesain dan dipahami.

Konsol Dialogflow CX berbeda dengan Google Cloud Platform (GCP) Console (lihat dokumentasi, open console). Dialogflow CX Console digunakan untuk mengelola agen Dialogflow CX, sedangkan GCP Console digunakan untuk mengelola setelan Dialogflow CX khusus GCP (misalnya, penagihan) dan resource GCP lainnya.

Pada umumnya, Anda harus menggunakan Konsol Dialogflow CX untuk membangun agen, tetapi Anda juga dapat menggunakan Dialogflow CX API untuk membangun agen untuk skenario lanjutan.

Integrasi

Saat ini Dialogflow CX menyediakan beberapa integrasi bawaan dengan platform percakapan lainnya. Integrasi ini menyediakan antarmuka pengguna kepada pengguna akhir, dan memanggil Dialogflow API untuk Anda. Anda hanya perlu membangun agen dan mengimplementasikan layanan webhook secara opsional. Setiap integrasi menangani interaksi dengan cara khusus platform, jadi baca dokumentasi integrasi spesifik untuk mengetahui detailnya.

Interaksi

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

Saat menggunakan API, sistem Anda perlu menangani hal berikut:

  • Bangun agen.
  • Menyediakan antarmuka pengguna untuk pengguna akhir.
  • Panggil Dialogflow API untuk setiap giliran percakapan untuk mengirim input pengguna akhir ke API.
  • Kecuali jika respons agen sepenuhnya statis (tidak umum), Anda harus menghosting layanan webhook untuk menangani fulfillment yang mendukung webhook.

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

  • Bangun agen.
  • Jika ingin, implementasikan layanan webhook.

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

Diagram alur API.

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