Halaman ini menjelaskan cara membangun aplikasi Google Chat yang dapat memahami dan merespons dengan bahasa alami menggunakan Dialogflow. Panduan ini menggunakan Dialogflow CX, yang memiliki integrasi langsung dengan Google Chat. Anda juga dapat menggunakan Dialogflow ES untuk membangun aplikasi Google Chat Dialogflow ES dengan mengikuti panduan Google Chat Dialogflow ES.
Misalnya, pertimbangkan aplikasi Chat yang membantu orang menyewa mobil. Pengguna dapat menulis, "Saya ingin menyewa mobil". Aplikasi Chat mungkin merespons dengan pertanyaan seperti "Di mana Anda ingin mengambil kendaraannya?", yang memulai percakapan layaknya manusia dengan pengguna, sehingga aplikasi Chat dapat memahami dan merespons dengan ucapan manusia saat memesan rental mobil.
Ini hanyalah satu contoh. Aplikasi Chat Dialogflow berguna dalam semua jenis interaksi. Jika memerlukan ucapan manusia alami, dialog akan dipanggil aplikasi Chat Dialogflow. Agen bawaan membantu Anda memulai dengan cepat, dan menunjukkan apa yang dapat dilakukan Dialogflow, seperti:
- Pesan penerbangan
- Jadwalkan janji temu dengan dokter
- Pesan pengiriman makanan
- Jawab pertanyaan tentang katalog produk retail, seperti apakah item tersedia dalam warna lain
-
Gambar 2. Menguji agen di Dialogflow CX untuk memastikan logika dan konfigurasi agen berfungsi sebagaimana mestinya. Diagram menunjukkan serangkaian halaman berdasarkan topik yang berurutan yang terkait dengan langkah-langkah tertentu dalam percakapan, seperti menetapkan lokasi penjemputan dan pengembalian untuk mobil rental, serta mengonfigurasi logika yang menghubungkannya. Percakapan diuji di simulator. -
Gambar 3. Mengonfigurasi aplikasi Chat untuk memproses respons menggunakan agen Dialogflow CX di halaman konfigurasi Chat API di konsol Google Cloud. -
Gambar 4. Melakukan percakapan tentang pemesanan mobil rental dengan aplikasi Chat Dialogflow Chat di Google Chat.
Tujuan
- Menyiapkan lingkungan Anda.
- Membuat dan men-deploy agen Dialogflow CX.
- Membuat dan men-deploy aplikasi Chat yang didukung agen Dialogflow CX.
- Uji aplikasi Chat.
Prasyarat
- Akun Google Workspace dengan akses ke Google Chat.
- Project Google Cloud.
- Pastikan Anda mengaktifkan penagihan untuk project Cloud. Pelajari cara memverifikasi status penagihan project Anda.
Arsitektur
Diagram berikut menunjukkan arsitektur aplikasi Chat yang dibuat dengan Dialogflow:
Dalam diagram sebelumnya, pengguna yang berinteraksi dengan aplikasi Chat Dialogflow memiliki alur informasi berikut:
- Pengguna mengirim pesan di Chat ke aplikasi Chat, baik di pesan langsung maupun di ruang Chat.
- Agen virtual Dialogflow, yang berada di Google Cloud, menerima dan memproses pesan untuk menghasilkan respons.
- Secara opsional, dengan menggunakan webhook Dialogflow, agen Dialogflow dapat berinteraksi dengan layanan pihak ketiga eksternal, seperti sistem pengelolaan project atau alat penjualan tiket.
- Agen Dialogflow mengirimkan respons kembali ke layanan aplikasi Chat di Chat.
- Respons akan dikirim ke ruang Chat.
Menyiapkan lingkungan
Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud.Di konsol Google Cloud, aktifkan Google Chat API dan Dialogflow API.
Pastikan Anda mengaktifkan API di project Cloud yang benar, lalu klik Next.
Pastikan Anda mengaktifkan API yang benar, lalu klik Enable.
Membuat agen Dialogflow CX
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 menerjemahkan teks pengguna akhir selama percakapan menjadi data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda akan mendesain dan membangun agen Dialogflow untuk menangani jenis percakapan yang diperlukan bagi sistem Anda.
Agen Dialogflow ibarat agen pusat panggilan manusia. Anda melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan pelatihan Anda tidak perlu terlalu eksplisit.
Berikut cara membuat agen Dialogflow CX:
Di konsol Dialogflow CX, buka Konsol Dialogflow CX. Klik Menu > Dialogflow CX.
Pilih project Google Cloud. Untuk menemukan project, Anda mungkin perlu mengklik All, lalu menelusurinya.
Sekarang Anda memiliki opsi untuk memilih agen siap pakai atau membuat sendiri agen Anda sendiri. Jika Anda ingin mempelajari penyesuaian agen secara mendetail nanti, pilih salah satu agen bawaan, yang juga dapat membantu mempelajari tindakan yang dapat dilakukan agen.
Untuk memilih agen siap pakai, ikuti langkah-langkah berikut:
- Klik Use prebuilt agent.
Pilih agen siap pakai. Untuk panduan ini, pilih Perjalanan: rental mobil.
Agen dinilai sebagai pemula, menengah, atau lanjutan berdasarkan jumlah fitur yang digunakan agen dan kecanggihan logika percakapannya. Memilih agen menengah atau lanjutan mungkin memerlukan penyesuaian dan setelan spesifik per agen, termasuk pengaktifan fitur dan API di Konsol Google Cloud.
Klik Impor sebagai agen.
Untuk membuat agen sendiri, ikuti langkah-langkah berikut:
- Klik Buat agen.
- Pilih Auto-generate untuk membuat agen penyimpanan data atau pilih Build your own untuk membuat jenis agen lain.
Untuk panduan mendetail tentang proses pembuatan agen, lihat Membuat agen Dialogflow CX.
Konfigurasi setelan agen dasar:
- Di Nama tampilan, masukkan nama tampilan.
- Pilih lokasi yang diinginkan. Jika Anda ingin mengubah setelan lokasi lanjutan, klik Edit.
- Pilih zona waktu yang Anda inginkan.
- Pilih bahasa default untuk agen Anda. Anda tidak dapat mengubah bahasa default agen setelah dibuat.
Klik Create. Dialogflow CX mulai membuat agen, lalu menampilkan alur awal default agen.
Sesuaikan agen secara opsional. Untuk panduan mendetail tentang proses penyesuaian agen, lihat Membuat agen Dialogflow CX.
Sebagai praktik terbaik, uji agen:
- Klik Test agent.
- Pilih Test agent in environment.
- Di Lingkungan, pilih Draf.
- Pada Flow, pilih Default Start Flow.
- Di Halaman, pilih Halaman Awal.
- Di kolom tulis Bicara dengan agen, ketik
Hello
, lalu tekan Enter. Agen merespons dengan memperkenalkan diri. - Selesaikan pengujian dengan meminta contoh percakapan uji coba.
Agen Dialogflow CX telah dibuat. Kembali ke konsol Dialogflow CX. Klik Menu > Dialogflow CX.
Di bagian Agen, klik > Salin nama. Simpan nama ini karena Anda menggunakannya saat mengonfigurasi aplikasi Chat.
Membuat aplikasi Chat dan menghubungkannya dengan agen Dialogflow
Setelah membuat agen Dialogflow CX, ikuti langkah-langkah berikut untuk mengubahnya menjadi aplikasi Chat:
Di konsol Google Cloud, buka Google Chat API. Telusuri "Google Chat API" dan klik Google Chat API, lalu klik Kelola.
Klik Configuration dan siapkan aplikasi Chat:
- Di App name, masukkan
Dialogflow App
. - Di Avatar URL, masukkan
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - Pada Description, masukkan
Responds to real human conversation
. - Di bagian Functionality, pilih Receive 1:1 messages dan Join spaces and group conversations.
- Di bagian Connection settings, pilih Dialogflow.
- Di bagian Dialogflow settings, pilih Dialogflow CX.
- Di bagian Agent or Environment resource name, tempel nama agen Dialogflow CX yang Anda salin di akhir Buat agen Dialogflow CX.
- Sediakan aplikasi Chat ini untuk orang dan grup tertentu di domain Anda, lalu masukkan alamat email Anda.
- Di bagian Logs, pilih Log errors to Logging.
- Di App name, masukkan
Klik Save.
Aplikasi Chat siap menerima dan menanggapi pesan di Chat.
Menguji aplikasi Chat
Uji aplikasi Chat Dialogflow CX dengan mengirim pesan di Google Chat.
Buka Google Chat menggunakan akun Google Workspace yang Anda berikan saat menambahkan diri Anda sebagai penguji tepercaya.
- Klik Chat baru.
- Di kolom Tambahkan 1 orang atau lebih, ketik nama aplikasi Chat Anda.
Pilih aplikasi Chat Anda dari hasil yang ditampilkan. Pesan langsung akan terbuka.
Di pesan langsung baru dengan aplikasi, ketik
Hello
, lalu tekanenter
.Aplikasi Chat Dialogflow merespons dengan memperkenalkan dirinya sendiri.
- Selesaikan pengujian dengan menggunakan contoh percakapan uji coba.
Contoh percakapan percobaan
Untuk menguji aplikasi Chat Dialogflow CX di konsol Dialogflow CX atau di Google Chat, lakukan percakapan berikut. Penjelasan ini membantu Anda memahami cara agen Dialogflow CX menafsirkan bahasa alami pengguna dan menghasilkan respons natural languagenya sendiri pada setiap langkah dalam percakapan. Contoh percakapan ini didasarkan pada agen siap pakai yang disebut Perjalanan: rental mobil.
Dialog | Penjelasan |
---|---|
Pengguna akhir: Halo Agen: Halo! Saya adalah agen rental mobil virtual. Saya dapat membantu Anda memulai reservasi rental mobil baru. Ada yang bisa saya bantu? |
|
Pengguna akhir: Saya ingin menyewa mobil. Agen: Di mana Anda ingin mengambil kendaraan tersebut? |
|
Pengguna akhir: Las Vegas Agen: Oke, pengambilan Anda akan dilakukan di Las Vegas. Agen: Apakah lokasi pengantaran berbeda dengan lokasi penjemputan Anda? |
|
Pengguna akhir: Ya. Saya akan mengantarkan mobilnya di Los Angeles. Agen: Oke, pengembalian Anda akan dilakukan di Los Angeles. Agen: Kapan tanggal dan waktu pengambilan kendaraan tersebut? |
|
Pengguna akhir: Saya ingin mengambil mobilnya pada 5 Maret pukul 12.00. Agen: Tanggal dan waktu kapan Anda ingin menurunkan kendaraan? |
|
Pengguna akhir: 15 Maret pukul 12.00. Agen: Jadi untuk mengonfirmasi: Anda akan mengambil kendaraan di Las Vegas 05-03-2024 pukul 12.00.00 dan mengantarnya di Los Angeles 15-03-2024 12:00:00 Apakah sudah benar? |
|
Pengguna akhir: Ya, terima kasih. Agen: Bagus. Sekarang mari kita pilih kendaraan. Agen: Apakah Anda menginginkan kendaraan ekonomi atau mewah? |
|
Pengguna akhir: Silakan ekonomi. Agen: Apakah Anda ingin Mobil Cymbal atau Truk Cymbal? |
|
Pengguna akhir: Truk Cymbal. Agen: Harga Truk Cymbal adalah $50,33 per hari. Dapat menampung 4 orang dan dilengkapi dengan radio AM/FM. Ingin melanjutkan ke pembayaran? Pengguna akhir: Ya. |
|
Agen: Jenis kartu apa yang akan Anda gunakan? Pengguna akhir: Altostrat Agen: Masukkan nomor kartu. Pengguna akhir: 1234 1234 1234 1234 Agen: Apa nama yang tertera di kartu? Pengguna akhir: Charlie Agen: Apa alamat penagihan? Pengguna akhir: 1800 Amphibious Blvd. Mountain View, CA Agen: Apa kode pos penagihannya? Pengguna akhir: 94045 Agen: Anda akan mengambil Mobil Cymbal di Las Vegas, 05-03-2024 12.00:00 dan mengantarnya, 15-03-2024 12:00:00. Total untuk perjalanan ini adalah $175,38. Agen: Terima kasih telah menyewa bersama kami dan semoga hari Anda menyenangkan. |
|
Mengirim pesan kartu dari Dialogflow
Dialogflow dapat merespons dengan pesan teks atau kartu. Untuk merespons dengan pesan kartu, tentukan sebagai payload kustom dalam fulfillment.
JSON berikut menunjukkan cara mengirim pesan kartu sebagai payload kustom dalam fulfillment:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
Batas dan pertimbangan
- Peristiwa interaksi Chat
memiliki dukungan terbatas dan beberapa pertimbangan:
- Jenis peristiwa interaksi berikut didukung:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- Untuk peristiwa
MESSAGE
atauADDED_TO_SPACE
, input kueri yang dikirim ke agen Dialogflow sesuai dengan nilai kolomargumentText
dalam pesan Chat. Jika pesan menyertakan perintah garis miring, nilai kolomtext
akan digunakan. - Untuk peristiwa
CARD_CLICKED
, input kueri yang dikirim ke agen Dialogflow diformat sebagaiCARD_CLICKED.functionName
, denganfunctionName
sesuai dengan nilai kolomfunction
dari objek Action yang dilampirkan ke elemen kartu interaktif (seperti tombol). - Payload JSON lengkap dari setiap peristiwa interaksi Chat dikirim ke Dialogflow sebagai payload kustom dalam parameter kueri, dan dapat diakses dengan web webhook Dialogflow dengan membuat kueri nilai kolom
WebhookRequest.payload
.
- Jenis peristiwa interaksi berikut didukung:
- Pertimbangan untuk merespons
perintah garis miring dan
menerima data dari kartu atau dialog:
- Saat aplikasi Chat Dialogflow menerima pesan dengan perintah
garis miring, input kueri hanya berisi nilai kolom
text
. Kolomtext
dimulai dengan nama perintah garis miring (misalnya,/command
), yang dapat Anda gunakan untuk mengonfigurasi intent agen Dialogflow guna mendeteksi perintah garis miring. - Jika agen Dialogflow perlu memproses payload JSON peristiwa interaksi Chat, dapat melakukannya dengan menggunakan Webhook Dialogflow untuk memeriksa payload kustom di parameter kueri.
- Untuk menampilkan dialog dari Agen Dialogflow, beri respons dengan satu payload JSON kustom yang menyertakan pesan yang berisi respons tindakan
DIALOG
. - Untuk memproses data yang dimasukkan dari kartu, agen Dialogflow dapat mendeteksi
intent yang dimulai dengan teks
CARD_CLICKED
dan merespons dengan satu payload JSON kustom yang berisi tindakan yang sesuai.
- Saat aplikasi Chat Dialogflow menerima pesan dengan perintah
garis miring, input kueri hanya berisi nilai kolom
- Pratinjau link tidak didukung.
- Jika agen Dialogflow merespons hanya dengan satu pesan, pesan tersebut akan dikirim ke Google Chat secara sinkron. Jika agen Dialogflow merespons
dengan beberapa pesan, semua pesan akan dikirim ke Chat
secara asinkron dengan memanggil metode
create
pada resourcespaces.messages
dalam Chat API satu kali untuk setiap pesan. - Saat menggunakan integrasi Dialogflow CX dengan Chat, agen Dialogflow dan aplikasi Chat harus disiapkan di project Google Cloud yang sama. Jika perlu menyiapkan Dialogflow dan Chat di project Cloud yang berbeda, Anda dapat menyiapkan server perantara untuk memfasilitasi koneksi. Untuk mempelajari caranya, lihat contoh Integrasi Chat untuk Dialogflow CX ini di GitHub.
Memecahkan masalah
Saat aplikasi atau kartu Google Chat menampilkan error, antarmuka Chat akan menampilkan pesan yang menyatakan "Terjadi error". atau "Tidak dapat memproses permintaan Anda". Terkadang UI Chat tidak menampilkan pesan error apa pun, tetapi aplikasi atau kartu Chat memberikan hasil yang tidak diharapkan; misalnya, pesan kartu mungkin tidak muncul.
Meskipun pesan error mungkin tidak ditampilkan di UI Chat, pesan error dan data log deskriptif akan tersedia untuk membantu Anda memperbaiki error saat logging error untuk aplikasi Chat diaktifkan. Untuk mendapatkan bantuan dalam melihat, melakukan proses debug, dan memperbaiki error, lihat Memecahkan masalah dan memperbaiki error Google Chat.
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, sebaiknya hapus project Cloud tersebut.
- Pada Konsol Google Cloud, buka halaman Kelola resource Klik Menu > IAM & Admin > Manage Resources.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete .
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Topik terkait
- Dialogflow CX menggunakan
pendekatan mesin status
untuk desain agen Dialogflow, yang memberi Anda kontrol yang jelas dan eksplisit
atas percakapan, pengalaman pengguna akhir yang lebih baik, dan alur kerja
pengembangan yang lebih baik. Saat membangun aplikasi Dialogflow, sebaiknya gunakan Dialogflow CX.
- Untuk mempelajari lebih lanjut cara membangun dan mengonfigurasi agen, lihat Agen Dialogflow CX.
- Untuk panduan mendetail yang memberikan petunjuk kepada Anda cara membangun dan mengonfigurasi agen, lihat Membuat agen Dialogflow CX.
- Membuat aplikasi untuk Google Chat dengan Gemini. Codelab: Untuk contoh cara membuat agen penyimpanan data Dialogflow CX, lihat aplikasi Chat pengetahuan dari codelab
- Membuat aplikasi untuk Google Chat dengan Gemini. Codelab: Untuk contoh cara membuat agen percakapan Dialogflow CX, lihat aplikasi Chat masukan dari codelab
- Dialogflow ES adalah cara lain untuk menggunakan Dialogflow dengan aplikasi Chat.