Dokumen ini menjelaskan event yang dikirim oleh client ke server selama sesi WebSocket dengan API Qwen-ASR Realtime.
Panduan pengguna: Untuk ikhtisar model, fitur-fiturnya, dan contoh kode lengkap, lihat Pengenalan ucapan real-time – Qwen.
session.update
Memperbarui konfigurasi sesi. Kirim event ini segera setelah koneksi WebSocket terbentuk. Jika tidak dikirim, sistem akan menggunakan konfigurasi default.
Setelah server berhasil memproses event ini, event session.updated akan dikirim sebagai konfirmasi.
Parameter | Jenis | Wajib | Deskripsi |
|---|
type | string | Ya | Jenis event. Nilainya tetap session.update. | event_id | string | Ya | ID event. | session | object | Ya | Objek yang berisi konfigurasi sesi. | session.input_audio_format | string | Tidak | Format audio. Format yang didukung adalah pcm dan opus. Default: pcm. | session.sample_rate | integer | Tidak | Laju pengambilan sampel audio dalam Hz. Nilai yang didukung adalah 16000 dan 8000. Default: 16000. Jika Anda mengatur parameter ini ke 8000, server akan melakukan upsampling audio ke 16000 Hz sebelum pengenalan. Hal ini mungkin menyebabkan sedikit penundaan. Gunakan nilai ini hanya jika sumber audio berada pada 8000 Hz, seperti audio dari saluran telepon. | session.input_audio_transcription | object | Tidak | Konfigurasi terkait pengenalan ucapan. | session.input_audio_transcription.language | string | Tidak | | session.input_audio_transcription.corpus.text | string | Tidak | Menentukan konteks. Anda dapat memberikan teks latar belakang, kosakata entitas, dan informasi referensi lainnya (konteks) selama pengenalan ucapan untuk mendapatkan hasil yang disesuaikan. Batas panjang: 10.000 token. Untuk informasi lebih lanjut, lihat Contextual biasing. | session.turn_detection | object | Tidak | Konfigurasi Voice Activity Detection (VAD). Parameter ini mengaktifkan atau menonaktifkan mode VAD. Atur parameter ini ke `null` untuk menonaktifkan mode VAD dan mengaktifkan Manual mode. Jika parameter ini diatur, mode VAD diaktifkan. | session.turn_detection.type | string | Tidak, wajib jika turn_detection ada. | Nilainya tetap server_vad. | session.turn_detection.threshold | float | Tidak | Ambang batas deteksi VAD. Nilai yang direkomendasikan: 0,0. Default: 0,2. Nilai valid: [-1, 1]. Ambang batas yang lebih rendah meningkatkan sensitivitas VAD, yang dapat menyebabkan kebisingan latar belakang salah dikenali sebagai ucapan. Ambang batas yang lebih tinggi mengurangi sensitivitas dan membantu mengurangi pemicu palsu di lingkungan bising. | session.turn_detection.silence_duration_ms | integer | Tidak | Ambang batas endpointing VAD dalam milidetik (ms). Periode diam yang melebihi ambang batas ini dianggap sebagai akhir pernyataan. Nilai yang direkomendasikan: 400. Default: 800. Nilai valid: [200, 6000]. Nilai yang lebih rendah, seperti 300 ms, memungkinkan model merespons lebih cepat tetapi dapat menyebabkan segmentasi tidak alami pada jeda normal. Nilai yang lebih tinggi, seperti 1200 ms, lebih baik dalam menangani jeda dalam kalimat panjang tetapi meningkatkan latensi respons secara keseluruhan. |
| {
"event_id": "event_123",
"type": "session.update",
"session": {
"input_audio_format": "pcm",
"sample_rate": 16000,
"input_audio_transcription": {
"language": "zh"
},
"turn_detection": {
"type": "server_vad",
"threshold": 0.0,
"silence_duration_ms": 400
}
}
}
|
Menambahkan blok data audio ke buffer input server. Ini merupakan event inti untuk streaming audio.
Perbedaan antar skenario:
- Mode VAD: Buffer audio digunakan untuk deteksi aktivitas suara. Server secara otomatis menentukan kapan audio dikirim untuk pengenalan.
- Mode non-VAD: Client dapat mengontrol jumlah data audio dalam setiap event. Ukuran maksimum bidang
audio dalam satu event input_audio_buffer.append adalah 15 MiB. Streaming blok audio yang lebih kecil untuk respons yang lebih cepat.
Penting: Server tidak mengirim tanggapan konfirmasi apa pun untuk event input_audio_buffer.append.
Parameter | Type | Wajib | Deskripsi |
|---|
type | string | Ya | Jenis event. Nilainya harus input_audio_buffer.append. | event_id | string | Ya | ID unik untuk event. | audio | string | Ya | Data audio dalam format Base64. |
| {
"event_id": "event_2728",
"type": "input_audio_buffer.append",
"audio": "<audio> by base64"
}
|
Dalam mode non-VAD, event ini secara manual memicu pengenalan. Event ini memberi tahu server bahwa client telah selesai mengirim ucapan lengkap. Server kemudian mengenali seluruh data audio dalam buffer saat ini sebagai satu kesatuan.
Nonaktif di: mode VAD.
Setelah pemrosesan berhasil, server mengirim event input_audio_buffer.committed sebagai konfirmasi.
Parameter | Tipe | Wajib | Deskripsi |
|---|
type | string | Ya | Jenis event. Nilainya adalah input_audio_buffer.commit. | event_id | string | Ya | ID event. |
| {
"event_id": "event_789",
"type": "input_audio_buffer.commit"
}
|
session.finish
Mengakhiri sesi saat ini.
Alur respons server:
- Jika ucapan terdeteksi: Setelah pengenalan ucapan akhir selesai, server mengirim event
conversation.item.input_audio_transcription.completed, yang berisi hasil pengenalan. Server kemudian mengirim event session.finished untuk menandakan berakhirnya sesi.
- Jika tidak ada ucapan yang terdeteksi: Server langsung mengirim event
session.finished.
Setelah menerima event session.finished, klien harus memutus koneksi.
Parameter | Tipe | Wajib | Deskripsi |
|---|
type | string | Ya | Jenis event. Nilainya adalah session.finish. | event_id | string | Ya | ID event. |
| {
"event_id": "event_341",
"type": "session.finish"
}
|