Aplikasi sering kali memerlukan bot untuk merespons pengguna akhir. Aplikasi Dialogflow sering kali memerlukan bot untuk merespons pengguna akhir. Dialogflow memungkinkan Anda menggunakan Cloud Text-to-Speech yang didukung oleh DeepMind WaveNet untuk menghasilkan respons ucapan dari agen Anda. Konversi dari respons teks intent ke audio ini disebut output audio, sintesis ucapan,
Anda dapat menggunakan audio untuk input dan output saat mendeteksi maksud. Hal ini umum terjadi saat mengembangkan aplikasi yang berkomunikasi dengan pengguna menggunakan antarmuka audio murni.
Untuk mengetahui daftar bahasa yang didukung, lihat kolom TTS di halaman Bahasa.
Sebelum memulai
Fitur ini hanya berlaku saat menggunakan API untuk interaksi pengguna akhir. Jika Anda menggunakan integrasi, Anda dapat melewati panduan ini.
Sebelum memulai, selesaikan langkah-langkah berikut:
- Baca dasar-dasar Dialogflow.
- Lakukan langkah-langkah penyiapan.
Buat agen
- Buka konsol Dialogflow ES.
- Login ke konsol jika diminta. Untuk mengetahui informasi selengkapnya, lihat Ringkasan konsol Dialogflow.
- Di menu sidebar, luaskan Loading agents.
- Klik Create new agent.
- Masukkan nama agen, bahasa default, dan zona waktu default.
- Masukkan project yang ada. Agar konsol Dialogflow membuat project, pilih Buat project Google baru.
- Klik Create.
Mendeteksi intent
Untuk mendeteksi maksud, panggil metode detectIntent pada
jenis Sessions.
REST
1. Menyiapkan konten audio
Download file input_audio contoh
book-a-room.wav, yang mengucapkan "pesan kamar". File audio harus dienkode base64 untuk contoh ini, sehingga dapat diberikan dalam permintaan JSON di bawah.
Berikut contoh Linux:
wget https://cloud.google.com/dialogflow/es/docs/data/book-a-room.wav base64 -w 0 book-a-room.wav > book-a-room.b64
Untuk contoh di platform lain, lihat Menyematkan audio berenkode Base64 dalam dokumentasi Cloud Speech API.
2. Membuat permintaan deteksi maksud
Panggil metode detectIntent pada
jenis Sessions dan tentukan
audio yang dienkode base64.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: project ID Google Cloud Anda
- SESSION_ID: ID sesi
- BASE64_AUDIO: konten base64 dari file output di atas
Metode HTTP dan URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
Meminta isi JSON:
{
"queryInput": {
"audioConfig": {
"languageCode": "en-US"
}
},
"outputAudioConfig" : {
"audioEncoding": "OUTPUT_AUDIO_ENCODING_LINEAR_16"
},
"inputAudio": "BASE64_AUDIO"
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"responseId": "b7405848-2a3a-4e26-b9c6-c4cf9c9a22ee",
"queryResult": {
"queryText": "book a room",
"speechRecognitionConfidence": 0.8616504,
"action": "room.reservation",
"parameters": {
"time": "",
"date": "",
"duration": "",
"guests": "",
"location": ""
},
"fulfillmentText": "I can help with that. Where would you like to reserve a room?",
"fulfillmentMessages": [
{
"text": {
"text": [
"I can help with that. Where would you like to reserve a room?"
]
}
}
],
"intent": {
"name": "projects/PROJECT_ID/agent/intents/e8f6a63e-73da-4a1a-8bfc-857183f71228",
"displayName": "room.reservation"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {},
"languageCode": "en-us"
},
"outputAudio": "UklGRs6vAgBXQVZFZm10IBAAAAABAAEAwF0AAIC7AA..."
}
Perhatikan bahwa nilai kolom queryResult.action adalah room.reservation
dan kolom outputAudio berisi string audio base64 yang besar.
3. Memutar audio output
Salin teks dari kolom outputAudio dan simpan dalam file bernama
output_audio.b64. File ini perlu dikonversi menjadi audio.
Berikut contoh Linux:
base64 -d output_audio.b64 > output_audio.wav
Untuk contoh di platform lain, lihat Mendekode Konten Audio Berenkode Base64 dalam dokumentasi API text-to-speech.
Sekarang Anda dapat memutar file audio output_audio.wav dan mendengar bahwa file tersebut cocok dengan
teks dari kolom queryResult.fulfillmentMessages[1].text.text[0] di atas.
Elemen fulfillmentMessages kedua dipilih karena merupakan respons
teks untuk platform default.
Java
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Untuk mengetahui informasi selengkapnya tentang kolom respons yang relevan, lihat bagian Respons deteksi maksud.
Respons deteksi maksud
Respons untuk permintaan deteksi maksud adalah jenis DetectIntentResponse.
Pemrosesan maksud deteksi normal mengontrol konten kolom
DetectIntentResponse.queryResult.fulfillmentMessages.
Kolom DetectIntentResponse.outputAudio diisi dengan audio berdasarkan
nilai respons teks platform default yang ditemukan di kolom
DetectIntentResponse.queryResult.fulfillmentMessages:
- Jika ada beberapa respons teks default, respons tersebut akan digabungkan saat membuat audio.
- Jika tidak ada respons teks platform default, konten audio yang dihasilkan akan kosong.
Kolom DetectIntentResponse.outputAudioConfig diisi dengan setelan audio yang digunakan untuk menghasilkan audio output.
Mendeteksi intent dari stream
Saat mendeteksi maksud dari aliran, Anda mengirim permintaan yang mirip dengan contoh
yang tidak menggunakan output audio:
Mendeteksi Maksud dari Aliran.
Namun, Anda memberikan kolom
OutputAudioConfig
ke permintaan. Kolom output_audio dan output_audio_config diisi dalam respons streaming akhir yang Anda dapatkan dari server Dialogflow API. Untuk mengetahui informasi selengkapnya, lihat
StreamingDetectIntentRequest
dan
StreamingDetectIntentResponse.
Setelan agen untuk ucapan
Anda dapat mengontrol berbagai aspek sintesis ucapan. Lihat Setelan ucapan agen.
Menggunakan simulator Dialogflow
Anda dapat berinteraksi dengan agen dan menerima respons audio menggunakan simulator Dialogflow:
- Aktifkan text-to-speech otomatis dengan mengikuti petunjuk di Setelan ucapan agen.
- Ketik atau ucapkan "book a room" di simulator.
- Lihat bagian output audio di simulator.