Bina Chatbot Menghantar E-mel Dengan Aliran Dialog Google

Bina Chatbot Menghantar E-mel Dengan Aliran Dialog Google

Chatbots menjadi alat yang semakin penting untuk perniagaan pada zaman moden. Dengan alatan dan pengetahuan yang betul, syarikat mencipta ejen sembang yang boleh mengadakan perbualan sebenar dengan pelanggan.





Google Dialogflow ES ialah salah satu alat bina chatbot yang paling berkuasa—dan percuma—di pasaran. Tetapi bagaimana anda boleh menggunakan potensi penuhnya?





MAKEUSEOF VIDEO OF THE DAY

Langkah 1: Buat Agen Dialogflow ES Anda

Mencipta ejen Dialogflow ES anda sendiri ialah langkah pertama dalam proses ini. Sebarang akaun Google berfungsi dan anda mulakan dengan menavigasi ke tapak web Google Dialogflow EN . Klik pada Buat Ejen setelah anda log masuk dan isikan butiran dalam borang sebelum klik Buat . Anda boleh menggunakan Dialogflow untuk buat chatbot untuk hiburan , automasi atau perkhidmatan pelanggan. Projek ini meliputi yang terakhir.





  cipta dialogflow es agent

Langkah 2: Tambah Niat Susulan Dialogflow

Ejen baharu hanya mempunyai Niat Selamat Datang Lalai dan Niat Berbalik Lalai. Niat ialah serpihan atau peringkat dalam perbualan.

Anda perlu menambah dua niat susulan pada Niat Selamat Datang Lalai sedia ada untuk bermula. Tuding di atas Niat Selamat Datang Lalai , Klik pada Tambah niat susulan , dan pilih ya daripada menu lungsur. Ulangi proses dengan memilih Tidak daripada menu lungsur untuk mencipta niat susulan kedua.



  ya dan tidak niat susulan

Niat Tiada susulan akan menamatkan perbualan dan mengucapkan selamat tinggal kepada pengguna. Buka Tiada niat susulan dan tambahkan satu siri respons teks untuk menamatkan perbualan. Aktifkan Tetapkan niat ini sebagai akhir perbualan peluncur.

  niat akhir perbualan dialogflow

Kembali ke skrin Niat utama dan klik pada Ya niat susulan untuk membukanya.





Langkah 3: Bina Senarai Respons Aliran Dialog Kaya Dengan JSON

Sekarang anda telah menyediakan niat ini, sudah tiba masanya untuk mengemukakan soalan kepada pengguna supaya mereka boleh menjawabnya. Buka Niat Selamat Datang Lalai dan Padam respons yang dihasilkannya. klik Tambah Respons dan pilih Muatan Tersuai daripada menu.

  dialu-alukan muatan tersuai niat

Kod JSON di bawah menambah dua jenis respons kaya yang berbeza; maklumat dan kerepek.





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"type": "info"
}
]
]
}

Langkah 4: Kumpul Nama Pengguna sebagai Parameter Dialogflow

Seterusnya, tiba masanya untuk menambah satu lagi niat susulan untuk mengumpul data daripada pengguna. Seperti yang digariskan dalam Langkah 2, anda sepatutnya sudah mempunyai niat susulan Ya yang meminta nama pengguna. Tuding di atas Ya niat susulan dalam menu niat utama, klik Tambah niat susulan , dan pilih Adat daripada senarai.

  pilih niat susulan ya

Ini akan mewujudkan niat susulan baharu tanpa sebarang frasa latihan. Pergi ke bahagian Frasa Latihan, taipkan nama ke dalam kotak dan tekan Enter untuk menambahnya sebagai frasa baharu. Ini akan mencetuskan penciptaan parameter baharu dengan jenis entiti @sys.person. Klik pada @sys.person entiti dan menukarnya kepada a @sys.nama-diberikan entiti.

  dialogflow diberikan tetapan parameter nama

Ini akan menyimpan input pengguna supaya ejen boleh menggunakannya. Pergi ke bahagian Respons dan tambahkan respons dengan $nama yang diberikan dalamnya. Ini memanggil parameter nama yang telah anda kumpulkan, membolehkannya muncul dalam sembang.

  respons parameter nama dialogflow

Langkah 5: Gunakan Muatan Tersuai Dialogflow untuk Mencetuskan Niat

Kekal dalam niat susulan yang baru anda tambahkan, klik pada Tambah Respons dan pilih Muatan Tersuai daripada senarai. Menambah kod JSON di bawah pada bahagian ini akan mencetuskan respons kaya senarai yang meminta pengguna memilih warna.

  senarai kandungan kaya dialogflow

Bahagian paling penting dalam kod JSON ini ialah bahagian acara dengan setiap entri. Apabila diklik, setiap item senarai memanggil acara yang dipanggil COLOR dengan nama dan parameter warna yang telah dikumpulkan setakat ini. Niat boleh mempunyai acara yang ditetapkan kepada mereka yang akan mencetuskannya.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

Langkah 6: Alihkan Parameter Aliran Dialog Antara Niat

Kembali ke menu Niat utama dan klik pada Cipta Niat . Beri nama niat baharu anda dan masukkan WARNA dalam bahagian acara sebelum memukul Masuk .

  warna niat dengan acara

Pergi ke bahagian Frasa Latihan dan tambahkan nama dan warna pada senarai frasa untuk mencetuskan penciptaan parameter baharu. Tukar @sys.person entiti parameter kepada a @sys.nama-diberikan entiti dan pastikan entiti warna ditetapkan kepada @sys.color .

  latihan warna dan parameter

Anda kini boleh menambah beberapa respons menggunakan $given-name dan $color untuk memaparkan input pengguna dalam tetingkap sembang.

  respons niat warna dengan parameter

Akhirnya, kembali ke Konteks bahagian di bahagian atas halaman dan tambahkan output dengan nama yang unik. Ini akan menghantar parameter dari niat ini kepada yang seterusnya.

cara membetulkan sim tidak diperuntukkan mm 2
  konteks output niat warna

Langkah 7: Kumpul Negara & Nombor Telefon Pengguna sebagai Parameter Dialogflow

Kembali ke menu Niat utama, tuding di atas Niat warna anda baru buat, dan klik pada Tambah niat susulan . Semak bahagian Konteks niat baharu. Pastikan ia termasuk konteks Warna yang anda buat dalam langkah terakhir dalam kedua-dua bahagian input dan output. Tambah konteks output lain untuk niat semasa.

  niat susulan negara warna dialogflow

Pergi ke Frasa Latihan bahagian dan tambahkan nama negara pada senarai sebelum memukul Masuk . Ini akan mencipta parameter baharu. Tukar jenis entiti parameter kepada @sys.geo-country sebelum menambah parameter pada bahagian tindak balas.

  latihan negara dan parameter

Kembali ke menu Niat utama dan buat niat susulan baharu untuk niat yang baru anda buat. Ulangi langkah yang baru anda ambil, tetapi gunakan nombor telefon dalam Frasa Latihan bahagian. Pastikan parameter yang dijana mempunyai a @sys.nombor telefon jenis entiti.

  latihan dan parameter nombor telefon

Kembali ke menu Niat utama dan buat dua niat susulan baharu untuk niat yang baru anda buat; a Ya dan Tidak niat susulan. Anda boleh menetapkan tiada niat susulan untuk menamatkan perbualan.

  nombor telefon ya tiada susulan

Niat susulan Ya perlu mempunyai semua Konteks daripada niat sebelumnya yang telah anda buat.

  konteks input susulan

Akhir sekali, kembali ke menu Niat utama dan buat Niat susulan baharu untuk niat susulan Ya yang baru anda buat. Tambahkan alamat e-mel pada bahagian Frasa Latihan dan pastikan bahawa parameter yang dijana mempunyai @sys.email sebagai jenis entitinya.

  parameter e-mel dialogflow

Pergi ke Jawapan bahagian, klik Tambah Respons , dan pilih Muatan Tersuai daripada senarai. Kod JSON berikut akan menambah respons kaya jenis senarai yang memanggil acara yang dipanggil SENDEMAIL. Semua parameter pengguna yang anda minta setakat ini akan dihantar ke niat ini.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

Langkah 8: Hantar E-mel Menggunakan Editor Dalam Talian Dialogflow Node.js

klik Cipta Niat dalam menu Niat utama. Tambah MENGHANTAR E-MEL kepada Peristiwa bahagian dan tekan Masuk . Ikuti ini dengan menambahkan semua parameter yang telah anda kumpulkan pada Tindakan dan parameter bahagian.

  peristiwa dan parameter e-mel

Pergi ke Pemenuhan bahagian di bahagian bawah halaman dan aktifkan peluncur berlabel Dayakan panggilan webhook untuk niat ini . Ini akan membolehkan anda menambah kod tersuai pada niat ini.

  pemenuhan niat aliran dialog

Pilih Pemenuhan daripada menu utama di sebelah kiri halaman dan aktifkan peluncur untuk mendayakan Editor Sebaris . Anda mungkin perlu menambahkan akaun pengebilan pada Projek Google anda untuk melakukan ini.

  editor sebaris aktif dialogflow

Klik pada package.json tab dan tatal ke bahagian bawah fail. Gantikan bahagian dependencies dengan kod berikut untuk menambah API Nodemailer pada projek anda.

"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^0.5.0"
}

Kembali ke fail index.js dan gantikan kod sedia ada dengan sampel yang terdapat pada projek CodePen ini sebelum klik Sebarkan . Anda perlu menggantikan bukti kelayakan Gmail dengan akaun anda sendiri. Anda perlu menggunakan Kata Laluan Apl untuk ini. Setelah selesai, chatbot anda akan menghantar e-mel semua butiran yang anda kumpulkan kepada pengguna pada akhir perbualan yang berjaya. Awak boleh ketahui lebih lanjut tentang Node.js dan cara menggunakannya dengan panduan berguna kami.

Menggunakan Dialogflow ES pada Tapak Web Anda

Chatbot baharu anda boleh mengumpul maklumat pengguna dan menghantar e-mel, tetapi Dialogflow ES boleh melakukan lebih banyak lagi. Anda boleh menyambungkan hampir mana-mana API kepada perkhidmatan ini dan anda boleh menggunakan API Dialogflow untuk mengawal chatbot anda di tapak web anda sendiri.