Halaman ini menjelaskan cara melakukan streaming input audio ke permintaan deteksi intent menggunakan API. Dialogflow memproses audio dan mengonversinya menjadi teks sebelum mencoba pencocokan intent. Proses ini disebut 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.
Selesaikan tugas berikut sebelum membaca panduan ini:
- Baca Dasar-dasar Dialogflow.
- Lakukan langkah-langkah penyiapan.
Membuat 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. Untuk mengizinkan konsol Dialogflow membuat project, pilih Create a new Google project.
- Klik Create.
Dasar-dasar streaming
Metode dari jenis Session
streamingDetectIntent 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 mendengarkan 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 yang diucapkan dalam audio input. Saat Dialogflow mendeteksi bahwa suara audio telah berhenti atau dijeda, Dialogflow akan menghentikan pengenalan ucapan dan mengirimStreamingDetectIntentResponsedengan hasil pengenalanEND_OF_SINGLE_UTTERANCEke klien Anda. Setiap audio yang dikirim ke Dialogflow di streaming setelah menerimaEND_OF_SINGLE_UTTERANCEakan diabaikan oleh Dialogflow.
Dalam streaming dua arah, klien dapat menutup sebagian objek streaming untuk memberi sinyal kepada server bahwa klien tidak akan mengirim data lagi. Misalnya, di Java dan Go, metode ini disebut closeSend.
Anda harus menutup sebagian (tetapi tidak membatalkan) streaming dalam situasi berikut:
- Klien Anda telah selesai mengirim data.
- Klien Anda dikonfigurasi dengan
single_utteranceyang ditetapkan ketrue, dan menerimaStreamingDetectIntentResponsedengan hasil pengenalanEND_OF_SINGLE_UTTERANCE.
Setelah menutup streaming, klien Anda harus memulai permintaan baru dengan streaming baru sesuai kebutuhan.
Streaming deteksi intent
Contoh berikut menggunakan
Session
jenis streamingDetectIntent metode untuk melakukan streaming audio.
Go
Untuk melakukan autentikasi ke Dialogflow CX, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Dialogflow CX untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Dialogflow CX untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Dialogflow CX untuk Ruby.
Sampel
Untuk mengetahui informasi selengkapnya tentang praktik terbaik streaming dari mikrofon browser ke Dialogflow, lihat halaman Sampel.