Qwen-ASR-Realtime menerima aliran audio dan mentranskripsikan ucapan secara real-time melalui WebSocket. Layanan ini mendukung dua mode interaksi: mode VAD dan mode Manual .
Panduan pengguna: Untuk ikhtisar model dan panduan pemilihan, lihat Speech-to-text. Untuk contoh kode, lihat Real-time speech recognition.
Batas laju: Pemanggilan model dikenai batas laju. Jika batas terlampaui, server mengembalikan error Requests rate limit exceeded, please try again later. Kurangi laju permintaan atau konkurensi Anda, lalu coba lagi. Untuk batas laju setiap model, lihat Rate limiting.
Titik akhir layanan
Gunakan URL WebSocket berikut. Parameter kueri model menentukan model yang digunakan. Ganti <model_name> dengan nama model:
Singapore
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_name>
Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya.
China (Beijing)
wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_name>
Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya.
PentingAlibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah China (Beijing) dan Singapore. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan Inferensi. Kami merekomendasikan migrasi ke domain baru berikut:
- China (Beijing): dari
dashscope.aliyuncs.comke{WorkspaceId}.cn-beijing.maas.aliyuncs.com - Singapore: dari
dashscope-intl.aliyuncs.comke{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya. Domain yang ada saat ini tetap berfungsi penuh.
PentingGunakan skema wss://. Atur otorisasi dalam header permintaan (lihat Request headers). Tentukan model melalui parameter kueri model.
Request headers
Sertakan bidang-bidang berikut dalam header permintaan:
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
Authorization | string | Ya | Token autentikasi dalam format |
user-agent | string | Tidak | Identifier client yang membantu server melacak sumber permintaan. |
X-DashScope-WorkSpace | string | Tidak | workspace ID Alibaba Cloud Model Studio. |
X-DashScope-DataInspection | string | Tidak | Apakah inspeksi data diaktifkan. Abaikan header ini kecuali inspeksi data diperlukan; jika diperlukan, atur nilainya menjadi |
PentingOtorisasi diverifikasi selama handshake WebSocket. Jika Kunci API tidak valid atau tidak disertakan, handshake gagal dengan error HTTP 401 atau 403.
Alur interaksi
Untuk detail tentang event client dan server, lihat Client events for Qwen-ASR-Realtime dan Server events.
Qwen-ASR-Realtime mendukung dua mode interaksi:
- Mode VAD (default): Server menggunakan voice activity detection (VAD) untuk secara otomatis mendeteksi awal dan akhir setiap ujaran. Gunakan mode ini untuk percakapan real-time, transkripsi rapat, dan skenario serupa.
- Mode Manual: Client mengontrol batas ujaran. Gunakan mode ini ketika client dapat secara eksplisit menentukan batas tersebut, seperti saat mengirim pesan suara di aplikasi perpesanan.
Mode VAD (default)
Server secara otomatis mendeteksi awal dan akhir setiap ujaran. Kirim aliran audio secara terus-menerus; server mengembalikan transkripsi akhir untuk setiap ujaran begitu mendeteksi akhirnya. Gunakan mode ini untuk percakapan real-time, transkripsi rapat, dan skenario serupa.
Untuk mengaktifkan: Konfigurasikan parameter session.turn_detection dalam event session.update client.
-
Client mengirim event input_audio_buffer.append untuk menambahkan audio ke buffer.
-
Server mengembalikan event input_audio_buffer.speech_started saat mendeteksi adanya ucapan.
Catatan: Jika client mengirim session.finish untuk mengakhiri sesi sebelum event ini tiba, server segera mengembalikan event session.finished. Client kemudian harus menutup koneksi.
-
Client terus mengirim event input_audio_buffer.append untuk mengirimkan audio.
-
Setelah mengirim seluruh audio, client mengirim event session.finish untuk mengakhiri sesi.
PeringatanDalam mode VAD, client harus mengirim event
session.finishsebelum menutup koneksi. Jika client menutup koneksi WebSocket tanpa terlebih dahulu mengirimsession.finish, server akan membuang item yang sedang diproses dan event seperticonversation.item.input_audio_transcription.completedtidak akan dikirimkan. Kirim{"type":"session.finish"}sebelum memanggilws.Close(), dan tunggu eventsession.finishedsebelum menutup koneksi. -
Server mengembalikan event input_audio_buffer.speech_stopped saat mendeteksi akhir ucapan.
-
Server mengembalikan event input_audio_buffer.committed.
-
Server mengembalikan event conversation.item.created.
-
Server mengembalikan event conversation.item.input_audio_transcription.text yang berisi hasil transkripsi parsial.
-
Server mengembalikan event conversation.item.input_audio_transcription.completed yang berisi hasil transkripsi akhir.
-
Server mengembalikan event session.finished untuk menandakan bahwa pengenalan telah selesai. Client kemudian harus menutup koneksi.
Mode Manual
Client mengontrol batas ujaran. Setelah mengirim audio untuk satu ujaran lengkap, client mengirim event input_audio_buffer.commit untuk memberi tahu server. Gunakan mode ini ketika client dapat secara eksplisit menentukan batas tersebut, seperti saat mengirim pesan suara di aplikasi perpesanan.
Untuk mengaktifkan: Atur session.turn_detection ke null dalam event session.update client.
- Client mengirim event input_audio_buffer.append untuk menambahkan audio ke buffer.
- Client mengirim event input_audio_buffer.commit untuk melakukan commit pada buffer input audio. Commit ini membuat item pesan pengguna baru dalam percakapan.
- Client mengirim event session.finish untuk mengakhiri sesi.
- Server mengembalikan event input_audio_buffer.committed.
- Server mengembalikan event conversation.item.input_audio_transcription.text yang berisi hasil transkripsi parsial.
- Server mengembalikan event conversation.item.input_audio_transcription.completed yang berisi hasil transkripsi akhir.
- Server mengembalikan event session.finished untuk menandakan bahwa pengenalan telah selesai. Client kemudian harus menutup koneksi.