Topik ini menjelaskan parameter dan antarmuka SDK Python untuk pengenalan ucapan non-real-time Qwen-Audio-3.0-ASR-Flash-Filetrans/Fun-ASR.
Prasyarat
Mulai cepat
Kelas inti (Transcription) menyediakan antarmuka untuk mengirimkan tugas secara asinkron, menunggu secara sinkron hingga tugas selesai, dan mengambil hasil tugas secara asinkron. Anda dapat menjalankan pengenalan ucapan non-real-time dengan salah satu cara berikut:
- Kirim tugas secara asinkron dan tunggu secara sinkron: setelah mengirimkan tugas, blokir thread saat ini hingga tugas selesai dan kembalikan hasil pengenalan.
- Kirim tugas secara asinkron dan ambil hasil secara asinkron: setelah mengirimkan tugas, panggil antarmuka query untuk mengambil hasil kapan pun Anda membutuhkannya.
Kirim secara asinkron dan tunggu secara sinkron
-
Panggil metode
async_calldari Kelas inti (Transcription) dan atur parameter permintaan.- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (
PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file, sehingga tidak dapat ditentukan secara pasti, tetapi biasanya dalam hitungan beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time. - Setelah setiap tugas selesai, hasil pengenalan dan URL unduhan berlaku selama 24 jam. Setelah masa berlaku habis, Anda tidak dapat lagi mengambil tugas atau mengunduh hasil melalui URL yang dikembalikan dalam query sebelumnya.
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (
-
Panggil metode
waitdari Kelas inti (Transcription) untuk menunggu secara sinkron hingga tugas selesai. Tugas dapat berada dalam salah satu status berikut:PENDING,RUNNING,SUCCEEDED, danFAILED. Selama tugas berada dalam statusPENDINGatauRUNNING, antarmukawaitakan memblokir. Ketika tugas mencapai statusSUCCEEDEDatauFAILED, antarmukawaitberhenti memblokir dan mengembalikan hasil tugas.waitmengembalikan TranscriptionResponse.
Klik untuk melihat contoh lengkap
Klik untuk melihat contoh lengkap
Kirim secara asinkron dan ambil hasil secara asinkron
-
Panggil metode
async_calldari Kelas inti (Transcription) dan atur parameter permintaan.- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (
PENDING). Waktu antrian bergantung pada panjang antrian dan durasi file, sehingga tidak dapat ditentukan secara pasti, tetapi biasanya dalam hitungan beberapa menit. Setelah pemrosesan dimulai, pengenalan ucapan selesai dengan kecepatan ratusan kali lipat dari kecepatan real-time. - Setelah setiap tugas selesai, hasil pengenalan dan URL unduhan berlaku selama 24 jam. Setelah masa berlaku habis, Anda tidak dapat lagi mengambil tugas atau mengunduh hasil melalui URL yang dikembalikan dalam query sebelumnya.
- Layanan transkripsi file memproses tugas yang dikirim melalui API berdasarkan prinsip best-effort. Setelah Anda mengirimkan tugas, tugas tersebut masuk ke status antrian (
-
Panggil metode
fetchdari Kelas inti (Transcription) dalam loop hingga Anda mendapatkan hasil akhir tugas. Saat status tugas adalahSUCCEEDEDatauFAILED, hentikan polling dan proses hasilnya.fetchmengembalikan TranscriptionResponse.
Klik untuk melihat contoh lengkap
Klik untuk melihat contoh lengkap
Titik akhir layanan
Secara default, SDK menggunakan titik akhir layanan wilayah Beijing. Untuk beralih ke wilayah lain, ubah dashscope.base_http_api_url sebelum inisialisasi.
- Singapura
- China (Beijing)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Ganti {WorkspaceId} dengan ID Ruang Kerja aktual Anda.- Kunci API berbeda di tiap wilayah. Pastikan Anda menggunakan Kunci API yang sesuai dengan wilayah tersebut.
- Konfigurasi wilayah adalah pengaturan global yang memengaruhi semua pemanggilan API melalui SDK DashScope.
Parameter permintaan
Atur parameter permintaan melalui metode async_call dari Kelas inti (Transcription).
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| model | str | Ya | Nama model. Nilai yang didukung mencakup keluarga model Qwen-Audio-3.0-ASR-Flash-Filetrans dan Fun-ASR. Untuk detailnya, lihat Model dan wilayah yang didukung. |
| file_urls | list[str] | Ya | Daftar URL file audio atau video yang akan ditranskripsi. HTTP dan HTTPS didukung. Satu permintaan hanya mendukung satu URL. Untuk persyaratan input seperti format audio yang didukung, batas ukuran file, dan batas durasi, lihat Spesifikasi audio.Jika rekaman disimpan di Alibaba Cloud OSS, RESTful API mendukung URL sementara dengan awalan oss://, sedangkan SDK tidak mendukung URL sementara dengan awalan oss://. |
| vocabulary_id | str | Tidak | ID daftar kata kunci panas yang telah dikompilasi sebelumnya.Hasilkan ID ini terlebih dahulu dengan memanggil API pembuatan daftar kata kunci panas. Masukkan ID ini selama pengenalan untuk menggunakan kata kunci dalam daftar tersebut.Cocok untuk skenario di mana kosakata diketahui dan relatif stabil, serta Anda perlu menggunakan kembali daftar kata yang sama di berbagai permintaan.Untuk detail penggunaan, lihat Kata kunci panas yang telah dikompilasi. |
| vocabulary | dict | Tidak | Hotword instan.Diteruskan sebagai pasangan kunci-nilai, di mana kunci adalah teks kata kunci panas (string) dan nilai adalah bobot kata kunci panas (integer). Tidak perlu membuat daftar kata kunci panas terlebih dahulu. Bobot berkisar dari [1, 5] atau diatur ke 50: nilai dalam [1, 5] membuat model lebih cenderung menghasilkan kata tersebut seiring peningkatan nilainya; nilai 50 menandakan kata kunci super panas, yang sangat meningkatkan recall, tetapi jumlah kata kunci super panas tidak boleh melebihi 50.Cocok untuk optimasi kata kunci panas tingkat sesi yang bersifat sementara.Saat dikonfigurasi bersama kata kunci panas yang telah dikompilasi, hanya kata kunci panas instan yang berlaku. Untuk detail penggunaan, lihat Kata kunci panas instan.Contoh: |
| channel_id | list[int] | Tidak | Indeks track audio yang akan dikenali dalam file audio multi-track. Indeks dimulai dari 0. Misalnya, [0] mengenali track pertama, dan [0, 1] mengenali track pertama dan kedua secara bersamaan. Jika Anda mengabaikan parameter ini, hanya track pertama yang diproses.Nilai default: [0]. |
| special_word_filter | str | Tidak | Kata sensitif yang akan diproses selama pengenalan ucapan. Anda dapat mengatur metode penanganan berbeda untuk setiap kata sensitif. Untuk detailnya, lihat Penyaringan kata sensitif. |
| diarization_enabled | bool | Tidak | Apakah akan mengaktifkan diarization pembicara. Secara default dinonaktifkan.Hanya berlaku untuk audio mono. Audio multi-channel tidak mendukung diarization pembicara.Saat diaktifkan, hasil pengenalan mencakup bidang speaker_id yang membedakan pembicara berbeda.Saat diarization pembicara diaktifkan, pastikan durasi audio tidak melebihi 2 jam. Jika tidak, pengenalan mungkin gagal atau timeout. speaker_id, lihat Deskripsi hasil pengenalan. |
| speaker_count | int | Tidak | Nilai referensi jumlah pembicara. Rentang valid adalah bilangan bulat dari 2 hingga 100 (inklusif).Secara default, jumlah pembicara dideteksi secara otomatis. Jika Anda mengatur nilai ini, nilai tersebut hanya membimbing algoritma untuk menghasilkan jumlah yang ditentukan jika memungkinkan dan tidak menjamin jumlah pasti tersebut.Tidak ada nilai default. |
| language_hints | list[str] | Tidak | Kode bahasa yang akan dikenali. Jika Anda tidak dapat menentukan bahasa sebelumnya, biarkan tidak diatur dan model akan mendeteksi bahasa secara otomatis.Untuk model Qwen-Audio-3.0-ASR-Flash-Filetrans, Anda dapat mengatur hingga 4 nilai; nilai apa pun yang melebihi 4 nilai pertama akan diabaikan. Untuk model Fun-ASR, Anda hanya dapat mengatur 1 nilai; jika Anda mengatur beberapa nilai, hanya nilai pertama yang berlaku.
Klik untuk melihat kode bahasa yang didukung
|
Tanggapan
TranscriptionResponse
TranscriptionResponse membungkus informasi tugas dasar (task_id dan task_status) dan hasil tugas (konten atribut output, lihat TranscriptionOutput).
Klik untuk melihat struktur contoh TranscriptionResponse
Klik untuk melihat struktur contoh TranscriptionResponse
Parameter | Deskripsi |
|---|---|
status_code | Kode status HTTP dari permintaan. |
code |
|
message |
|
task_id | ID Tugas. |
task_status | Status tugas. Salah satu dari empat status: Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai |
results | Hasil pengenalan subtugas. |
subtask_status | Status subtugas. Salah satu dari empat status: |
file_url | URL audio yang dikenali. |
transcription_url | URL hasil pengenalan audio. Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut dari tautan yang terkait dengan |
TranscriptionOutput
TranscriptionOutput sesuai dengan atribut output dari TranscriptionResponse dan merepresentasikan hasil tugas saat ini.
Klik untuk melihat struktur contoh TranscriptionOutput
Klik untuk melihat struktur contoh TranscriptionOutput
- Status PENDING
- Status RUNNING
- SUCCEEDED status
- FAILED
Parameter | Deskripsi |
|---|---|
code | Kode kesalahan. Gabungkan dengan bidang |
message | Pesan kesalahan. Gabungkan dengan bidang |
task_id | ID Tugas. |
task_status | Status tugas. Salah satu dari empat status: Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai |
results | Hasil pengenalan subtugas. |
subtask_status | Status subtugas. Salah satu dari empat status: |
file_url | URL audio yang dikenali. |
transcription_url | URL hasil pengenalan audio. Hasil pengenalan disimpan sebagai file JSON. Anda dapat mengunduh file tersebut dari tautan yang terkait dengan |
Deskripsi hasil pengenalan
Hasil pengenalan disimpan sebagai file JSON.
Klik untuk melihat contoh hasil pengenalan
Klik untuk melihat contoh hasil pengenalan
Parameter | Tipe | Deskripsi |
|---|---|---|
audio_format | string | Format audio file sumber. |
channels | array[integer] | Indeks track audio dalam file sumber. Untuk audio single-track, [0] dikembalikan; untuk audio dual-track, [0, 1] dikembalikan; dan seterusnya. |
original_sampling_rate | integer | Laju sampel (Hz) audio dalam file sumber. |
original_duration_in_milliseconds | integer | Durasi audio asli (ms) dalam file sumber. |
channel_id | integer | Indeks track hasil transkripsi, dimulai dari 0. |
content_duration | integer | Durasi (ms) konten dalam track yang diidentifikasi sebagai ucapan. Layanan model pengenalan ucapan hanya mentranskripsi konten dalam track yang diidentifikasi sebagai ucapan, dan melakukan metering serta penagihan berdasarkan durasi tersebut. Konten non-ucapan tidak di-metering atau ditagih. Biasanya, durasi konten ucapan lebih pendek daripada durasi audio asli. Karena keberadaan konten ucapan ditentukan oleh model AI, hasilnya mungkin sedikit berbeda dari situasi aktual. |
transcript | string | Hasil transkripsi tingkat paragraf. |
sentences | array | Hasil transkripsi tingkat kalimat. |
words | array | Hasil transkripsi tingkat kata. |
begin_time | integer | Timestamp mulai (ms). |
end_time | integer | Timestamp akhir (ms). |
text | string | Hasil transkripsi. |
speaker_id | integer | Indeks pembicara saat ini, dimulai dari 0, digunakan untuk membedakan pembicara berbeda. Bidang ini muncul dalam hasil pengenalan hanya saat diarization pembicara diaktifkan. |
punctuation | string | Tanda baca yang diprediksi setelah kata, jika ada. |
Antarmuka utama
Kelas inti (Transcription)
Impor Transcription dengan "from dashscope.audio.asr import Transcription".
| Metode | Signature | Deskripsi |
|---|---|---|
| async_call | Mengirimkan tugas pengenalan ucapan secara asinkron. | |
| wait | Memblokir thread saat ini hingga tugas asinkron selesai (status tugas adalah SUCCEEDED atau FAILED).Metode ini mengembalikan TranscriptionResponse. | |
| fetch | Mengambil hasil tugas saat ini secara asinkron.Metode ini mengembalikan TranscriptionResponse. |
Kode kesalahan
Jika Anda mengalami kesalahan, lihat Kode kesalahan untuk memecahkan masalah.
Saat tugas berisi beberapa subtugas, status tugas keseluruhan ditandai sebagai SUCCEEDED selama setidaknya satu subtugas berhasil. Periksa bidang subtask_status untuk menentukan hasil setiap subtugas.
Contoh tanggapan kesalahan:
FAQ
Fitur
T: Apakah audio terenkode Base64 didukung?
Audio yang dienkripsi Base64 tidak didukung. Hanya audio di URL yang dapat diakses publik yang dapat dikenali. Aliran biner dan file lokal tidak dapat dikenali secara langsung.
T: Bagaimana cara membuat file audio tersedia di URL yang dapat diakses publik?
Langkah-langkah umum adalah sebagai berikut. Ini adalah salah satu pendekatan; proses sebenarnya bervariasi tergantung produk penyimpanan. Kami menyarankan Anda mengunggah audio ke Alibaba Cloud OSS:
1. Pilih metode penyimpanan dan hosting
1. Pilih metode penyimpanan dan hosting
-
Layanan penyimpanan objek (direkomendasikan):
- Gunakan layanan penyimpanan objek penyedia cloud (seperti Alibaba Cloud OSS) untuk mengunggah file audio ke bucket dan mengaturnya ke akses publik.
- Keuntungan: Ketersediaan tinggi, dukungan akselerasi CDN, dan manajemen mudah.
-
Server web:
- Letakkan file audio di server web yang mendukung akses HTTP/HTTPS (seperti Nginx atau Apache).
- Keuntungan: Cocok untuk proyek kecil atau pengujian lokal.
-
Jaringan pengiriman konten (CDN):
- Host file audio di CDN dan akses melalui URL yang disediakan CDN.
- Keuntungan: Mempercepat pengiriman file dan cocok untuk skenario konkurensi tinggi.
2. Unggah file audio
2. Unggah file audio
-
Layanan penyimpanan objek:
- Masuk ke konsol penyedia cloud dan buat bucket.
- Unggah file audio, dan atur izinnya ke baca publik atau hasilkan tautan akses sementara.
-
Server web:
- Letakkan file audio di direktori yang ditentukan di server (seperti
/var/www/html/audio/). - Pastikan file dapat diakses melalui HTTP/HTTPS.
- Letakkan file audio di direktori yang ditentukan di server (seperti
3. Hasilkan URL yang dapat diakses publik
3. Hasilkan URL yang dapat diakses publik
-
Layanan penyimpanan objek:
- Setelah file diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
https://<bucket-name>.<region>.aliyuncs.com/<file-name>). - Untuk Nama domain yang lebih ramah, ikat domain kustom dan aktifkan HTTPS.
- Setelah file diunggah, sistem secara otomatis menghasilkan URL akses publik (biasanya dalam format
-
Server web:
- URL akses biasanya alamat server ditambah jalur file (seperti
https://your-domain.com/audio/file.mp3).
- URL akses biasanya alamat server ditambah jalur file (seperti
-
CDN:
- Setelah Anda mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
https://cdn.your-domain.com/audio/file.mp3).
- Setelah Anda mengonfigurasi akselerasi CDN, gunakan URL yang disediakan CDN (seperti
4. Verifikasi bahwa URL berfungsi
4. Verifikasi bahwa URL berfungsi
- Buka URL di browser dan periksa apakah file audio dapat diputar.
- Gunakan tool (seperti
curlatau Postman) untuk memverifikasi bahwa URL mengembalikan respons HTTP yang benar (kode status 200).
oss:// tidak didukung.
Saat menggunakan RESTful API, jika file audio disimpan di Alibaba Cloud OSS, URL sementara dengan awalan oss:// didukung:
- URL sementara berlaku selama 48 jam dan tidak dapat digunakan setelah masa berlaku habis. Jangan gunakan di lingkungan produksi.
- API untuk mendapatkan kredensial unggah dibatasi hingga 100 QPS dan tidak mendukung penskalaan. Jangan gunakan di lingkungan produksi, skenario konkurensi tinggi, atau skenario uji stres.
- Untuk lingkungan produksi, gunakan layanan penyimpanan stabil seperti OSS untuk memastikan ketersediaan file jangka panjang dan menghindari masalah Pembatasan laju.