Halaman ini menunjukkan cara melakukan streaming input audio ke permintaan deteksi maksud menggunakan API. Dialogflow memproses audio dan mengonversinya menjadi teks sebelum mencoba mencocokkan maksud. 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 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.
Buat agen
Jika Anda belum membuat agen, buat sekarang:
- Buka konsol Dialogflow ES.
- Jika diminta, login ke Konsol Dialogflow. Lihat Ringkasan konsol Dialogflow untuk mengetahui informasi selengkapnya.
- Klik Buat Agen 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 membuat project, pilih Buat project Google baru.
- Klik tombol Buat.
Mengimpor file contoh ke agen Anda
Langkah-langkah dalam panduan ini membuat asumsi tentang agen Anda, jadi Anda perlu mengimpor agen yang disiapkan untuk panduan ini. Saat mengimpor, langkah-langkah ini menggunakan opsi restore, yang akan menggantikan semua setelan, maksud (intent), dan entity 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 Pulihkan Dari 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 lihat dokumentasi referensi untuk library klien Anda guna mengetahui detailnya.
Objek streaming digunakan untuk mengirim dan menerima data secara bersamaan.
Dengan menggunakan objek ini, klien Anda melakukan streaming konten audio ke Dialogflow,
sekaligus memproses StreamingDetectIntentResponse
.
Metode streamingDetectIntent
memiliki
parameter query_input.audio_config.single_utterance
yang memengaruhi pengenalan ucapan:
- Jika
false
(default), pengenalan ucapan tidak akan berhenti hingga klien menutup streaming. - Jika
true
, Dialogflow akan mendeteksi satu ucapan lisan dalam audio input. Saat mendeteksi bahwa suara audio telah berhenti atau dijeda, Dialogflow akan menghentikan pengenalan ucapan dan mengirimkanStreamingDetectIntentResponse
dengan hasil pengenalanEND_OF_SINGLE_UTTERANCE
ke klien Anda. Audio apa pun yang dikirim ke Dialogflow di stream setelah menerimaEND_OF_SINGLE_UTTERANCE
akan diabaikan oleh Dialogflow.
Dalam streaming dua arah, klien dapat menutup sebagian objek streaming
untuk memberi sinyal kepada server bahwa klien tidak akan mengirimkan data lagi.
Misalnya, di Java dan Go, metode ini disebut closeSend
.
Penting untuk menutup sebagian (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.
Mendeteksi intent saat streaming
Contoh berikut menggunakan metode streamingDetectIntent
jenis
Session
untuk melakukan streaming audio.
Go
Untuk melakukan autentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk melakukan autentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk melakukan autentikasi ke Dialogflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi 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 buka Dokumentasi referensi Dialogflow untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka 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.