Halaman ini menunjukkan cara melakukan streaming input audio untuk mendeteksi permintaan intent menggunakan API. Dialogflow akan memproses audio dan mengonversinya menjadi teks sebelum mencoba pencocokan intent. Konversi ini dikenal sebagai input audio, pengenalan ucapan, speech-to-text, atau STT.
Sebelum memulai
Fitur ini hanya berlaku saat menggunakan API untuk interaksi pengguna akhir. Jika menggunakan integrasi, Anda dapat melewati panduan ini.
Anda harus melakukan hal berikut sebelum membaca panduan ini:
- Baca Dasar-dasar Dialogflow.
- Lakukan langkah-langkah penyiapan.
Membuat agen
Jika Anda belum membuat agen, buatlah sekarang:
- Buka Konsol Dialogflow ES.
- Jika diminta, login ke Konsol Dialogflow. Lihat ringkasan konsol Dialogflow untuk informasi selengkapnya.
- Klik Create Agent di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bagian bawah, lalu klik Buat agen baru.)
- Masukkan nama agen, bahasa default, dan zona waktu default.
- Jika Anda sudah membuat project, masukkan project tersebut. Jika Anda ingin mengizinkan Konsol Dialogflow untuk membuat project, pilih Create a new Google project.
- Klik tombol Buat.
Mengimpor file contoh ke agen Anda
Langkah-langkah dalam panduan ini akan membuat asumsi tentang agen Anda, sehingga Anda perlu import agen yang sudah disiapkan untuk panduan ini. Saat mengimpor, langkah-langkah ini menggunakan opsi pulihkan, yang menimpa semua setelan, intent, dan entitas agen.
Untuk mengimpor file, ikuti langkah-langkah berikut:
-
Download file
room-booking-agent.zip
. - Buka Konsol Dialogflow ES.
- Pilih agen Anda.
- Klik tombol setelan settings di samping nama agen.
- Pilih tab Ekspor dan Impor.
- Pilih Restore From Zip dan ikuti petunjuk untuk memulihkan file zip yang Anda download.
Dasar-dasar streaming
Metode streamingDetectIntent
jenis Session
menampilkan objek streaming gRPC dua arah.
Metode yang tersedia untuk objek ini bervariasi menurut bahasa. Jadi, baca dokumentasi referensi untuk library klien Anda guna mengetahui detailnya.
Objek streaming digunakan untuk mengirim dan menerima data secara serentak.
Dengan menggunakan objek ini, klien Anda melakukan streaming konten audio ke Dialogflow,
sambil memproses StreamingDetectIntentResponse
secara serentak.
Metode streamingDetectIntent
memiliki parameter query_input.audio_config.single_utterance
yang memengaruhi pengenalan ucapan:
- Jika
false
(default), pengenalan ucapan tidak berhenti hingga klien menutup streaming. - Jika
true
, Dialogflow akan mendeteksi satu ucapan lisan dalam audio input. Saat Dialogflow mendeteksi bahwa suara audio telah berhenti atau dijeda, Dialogflow akan menghentikan pengenalan ucapan dan mengirimkanStreamingDetectIntentResponse
dengan hasil pengenalanEND_OF_SINGLE_UTTERANCE
ke klien Anda. Setiap audio yang dikirimkan ke Dialogflow pada streaming setelahEND_OF_SINGLE_UTTERANCE
diterima akan diabaikan oleh Dialogflow.
Dalam streaming dua arah, klien dapat menutup setengah objek streaming
untuk memberikan sinyal ke server bahwa klien tidak akan mengirim lebih banyak data.
Misalnya, dalam Java dan Go, metode ini disebut closeSend
.
Penting untuk menutup setengah (tetapi tidak membatalkan) streaming dalam situasi berikut:
- Klien Anda telah selesai mengirim data.
- Klien Anda dikonfigurasi dengan
single_utterance
disetel ke benar (true), dan klien Anda akan menerimaStreamingDetectIntentResponse
dengan hasil pengenalanEND_OF_SINGLE_UTTERANCE
.
Setelah menutup streaming, klien Anda harus memulai permintaan baru dengan streaming baru sesuai kebutuhan.
Intent deteksi streaming
Contoh berikut menggunakan metode streamingDetectIntent
jenis Session
untuk melakukan streaming audio.
Go
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien , lalu kunjungi Dokumentasi referensi Dialogflow untuk .NET.
PHP: Ikuti petunjuk penyiapan PHP di halaman library klien lalu kunjungi Dokumentasi referensi Dialogflow untuk PHP.
Ruby: Ikuti petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Dialogflow untuk Ruby.
Sampel
Lihat halaman contoh untuk mengetahui praktik terbaik tentang streaming dari mikrofon browser ke Dialogflow.