Halaman ini menunjukkan cara melakukan streaming input audio ke permintaan intent deteksi menggunakan API. Dialogflow memproses audio dan mengubahnya menjadi teks sebelum mencoba pencocokan intent. Konversi ini disebut sebagai input audio, pengenalan ucapan, speech-to-text, atau STT.
Sebelum memulai
Fitur ini hanya berlaku jika menggunakan API untuk interaksi pengguna akhir. Jika Anda 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, buat agen sekarang:
- Buka Konsol Dialogflow ES.
- Jika diminta, login ke Konsol Dialogflow. Lihat Ringkasan konsol Dialogflow untuk mengetahui informasi selengkapnya.
- Klik Create Agent di menu sidebar kiri. (Jika 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 Buat project Google baru.
- Klik tombol Buat.
Impor file contoh ke agen Anda
Langkah-langkah dalam panduan ini membuat asumsi tentang agen, sehingga Anda perlu impor agen yang disiapkan untuk panduan ini. Saat mengimpor, langkah-langkah ini menggunakan opsi pulihkan, yang menimpa semua setelan, intent, dan entity agen.
Untuk mengimpor file, ikuti langkah-langkah berikut:
-
Unduh
room-booking-agent.zip
. - Buka Konsol Dialogflow ES.
- Pilih agen Anda.
- Klik tombol setelan settings di samping nama agen.
- Pilih tab Export and Import.
- Pilih Pulihkan Dari Zip dan ikuti petunjuk untuk memulihkan file ZIP yang Anda download.
Dasar-dasar streaming
Session
metode streamingDetectIntent
jenis ini menampilkan objek streaming gRPC dua arah.
Metode yang tersedia untuk objek ini bervariasi menurut bahasa,
jadi lihat dokumentasi referensi
untuk pustaka klien Anda untuk detailnya.
Objek streaming digunakan untuk mengirim dan menerima data secara serentak.
Dengan menggunakan objek ini, klien Anda
melakukan streaming konten audio ke Dialogflow,
sembari memproses StreamingDetectIntentResponse
secara serentak.
Metode streamingDetectIntent
memiliki
Parameter query_input.audio_config.single_utterance
yang memengaruhi pengenalan ucapan:
- Jika
false
(default), pengenalan ucapan tidak dihentikan sampai klien menutup streaming. - Jika
true
, Dialogflow akan mendeteksi satu ucapan lisan dalam audio input. Ketika Dialogflow mendeteksi bahwa suara audio telah berhenti atau dijeda, perangkat akan menghentikan pengenalan ucapan dan mengirimkanStreamingDetectIntentResponse
dengan hasil pengenalanEND_OF_SINGLE_UTTERANCE
kepada klien. Audio apa pun yang dikirim ke Dialogflow pada streaming setelah penerimaanEND_OF_SINGLE_UTTERANCE
diabaikan oleh Dialogflow.
Dalam streaming dua arah, klien dapat menutup setengah objek aliran
untuk memberi sinyal ke server bahwa
server tidak akan mengirim lebih banyak data.
Misalnya, di Java dan Go, metode ini disebut closeSend
.
Anda perlu 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 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
Session
metode streamingDetectIntent
jenis untuk melakukan streaming audio.
Go
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Harap ikuti Petunjuk penyiapan C# di halaman library klien lalu kunjungi Dokumentasi referensi Dialogflow untuk .NET.
PHP: Harap ikuti Petunjuk penyiapan PHP di halaman library klien lalu kunjungi Dokumentasi referensi Dialogflow untuk PHP.
Ruby: Harap ikuti Petunjuk penyiapan Ruby di halaman library klien lalu kunjungi Dokumentasi referensi Dialogflow untuk Ruby.
Sampel
Lihat halaman contoh untuk mengetahui praktik terbaik tentang streaming dari mikrofon browser ke Dialogflow.