A API untuk menyalin audio dengan openai bisikan besar V3! Didukung oleh? Transformer, Optimum & Flash-Attn
Fitur:
Berdasarkan proyek CLI Whisper yang sangat cepat. Lihatlah jika Anda ingin mengatur proyek ini secara lokal atau memahami latar belakang whisper cepat-cepat.
Proyek ini difokuskan pada penyediaan API Whisper Fast Whisper yang dapat digunakan dengan Docker pada infrastruktur cloud dengan GPU untuk kasus penggunaan produksi yang dapat diskalakan.
Dengan peluncuran layanan GPU terbaru. Namun, Anda dapat menggunakan ini di lingkungan VM lainnya yang mendukung GPU dan Docker.
Berikut adalah beberapa tolok ukur yang kami jalankan di nvidia A100 - 80GB dan fly.io gpu infra?
Jenis optimasi | Waktu untuk menyalin (150 menit audio) |
---|---|
V3 Besar (Transformers) ( fp16 + batching [24] + Flash Attention 2 ) | ~ 2 ( 1 menit 38 detik ) |
V3 Besar (Transformers) ( fp16 + batching [24] + Flash Attention 2 + diarization ) | ~ 2 ( 3 menit 16 detik ) |
V3 Besar (Transformers) ( fp16 + batching [24] + Flash Attention 2 + fly machine startup ) | ~ 2 ( 1 menit 58 detik ) |
V3 Besar (Transformers) ( fp16 + batching [24] + Flash Attention 2 + diarization + fly machine startup ) | ~ 2 ( 3 menit 36 detik ) |
Perkiraan waktu startup untuk mesin terbang dengan GPU dan memuat model sekitar ~ 20 detik. Sisa waktu dihabiskan untuk perhitungan yang sebenarnya.
yoeven/insanely-fast-whisper-api:latest
Hub Docker: Yoeven/Insanly-Fast-Whisper-API
app
di fly.toml
jika Anda sukaimage = 'yoeven/insanely-fast-whisper-api:latest'
in fly.toml
hanya jika Anda ingin membangun kembali gambar dari Dockerfile
Pasang fly cli jika belum memilikinya
Hanya perlu menjalankan ini saat pertama kali Anda meluncurkan aplikasi terbang baru
fly launch
Fly Will Prompt: Would you like to copy its configuration to the new app? (y/N)
. Ya ( y
) untuk menyalin konfigurasi dari repo.
Terbang akan meminta: Do you want to tweak these settings before proceeding
jika Anda tidak memiliki apa -apa untuk disesuaikan. Sebagian besar pengaturan yang diperlukan sudah dikonfigurasi dalam file fly.toml
. Tidak ada n
untuk melanjutkan dan menggunakan.
Pertama kali Anda menggunakan itu akan memakan waktu karena gambarnya sangat besar. Penyebaran selanjutnya akan jauh lebih cepat.
Jalankan yang berikut jika Anda ingin mengatur diarization speaker atau token auth untuk mengamankan API Anda:
fly secrets set ADMIN_KEY= < your_token > HF_TOKEN= < your_hf_key >
Jalankan fly secrets list
untuk memeriksa apakah ada rahasia.
Untuk mendapatkan Token Wajah Pelukan untuk Diarization Speaker, Anda perlu melakukan hal berikut:
pyannote/segmentation-3.0
pyannote/speaker-diarization-3.1
Kondisi Penggunahf.co/settings/tokens
.API Anda seharusnya terlihat seperti ini:
https://insanely-fast-whisper-api.fly.dev
Jalankan fly logs -a insanely-fast-whisper-api
untuk melihat log secara real time dari mesin terbang Anda.
Karena ini adalah aplikasi berlabuh, Anda dapat menggunakannya ke penyedia cloud yang mendukung Docker dan GPU dengan beberapa tweak konfigurasi.
Jigsawstack menyediakan banyak API yang kuat untuk berbagai kasus penggunaan sambil menjaga biaya tetap rendah. Proyek ini tersedia sebagai API yang dikelola sepenuhnya di sini dengan peningkatan skalabilitas cloud untuk efisiensi biaya dan uptime tinggi. Daftar di sini secara gratis!
Jika Anda telah mengatur rahasia lingkungan ADMIN_KEY
. Anda harus lulus x-admin-api-key
di header dengan nilai kunci yang sebelumnya Anda atur.
Jika dikerahkan dengan cepat, URL dasar harus terlihat seperti ini:
https://{app_name}.fly.dev/{path}
Bergantung pada penyedia cloud yang Anda gunakan, URL dasar akan berbeda.
/
Menyalin atau menerjemahkan audio ke dalam teks
Nama | nilai |
---|---|
URL (wajib) | URL audio |
tugas | transcribe , translate Default: transcribe |
bahasa | None , en , Default Bahasa Lain: None Bahasa Mendeteksi Otomatis |
Batch_Size | Jumlah batch paralel yang ingin Anda hitung. Kurangi jika Anda menghadapi oom. Default: 64 |
cap waktu | chunk , word default: chunk |
Diarise_audio | Diarise klip audio oleh speaker. Anda perlu mengatur hf_token. Default: false |
Webhook | POST WEBHOOK Panggilan pada penyelesaian atau kesalahan. Default: None |
Webhook.url | URL untuk mengirim webhook |
Webhook.Header | Header untuk dikirim dengan webhook |
is_async | Jalankan tugas di latar belakang dan mengirimkan hasil ke url webhook. true , false default: false |
dikelola_task_id | ID tugas khusus digunakan untuk merujuk tugas yang sedang berlangsung. Default: uuid() v4 will be generated for each transcription task |
/tasks
Dapatkan semua tugas transkripsi aktif, baik tugas latar belakang async dan tugas yang sedang berlangsung
/status/{task_id}
Dapatkan status tugas, tugas yang diselesaikan akan dihapus dari daftar yang mungkin melakukan kesalahan
/cancel/{task_id}
Batalkan Tugas Latar Belakang Async. Hanya pekerjaan transkripsi yang dibuat dengan is_async
yang diatur ke true
dapat dibatalkan.
# clone the repo
$ git clone https://github.com/jigsawstack/insanely-fast-whisper-api.git
# change the working directory
$ cd insanely-fast-whisper-api
# install torch
$ pip3 install torch torchvision torchaudio
# upgrade wheel and install required packages for FlashAttention
$ pip3 install -U wheel && pip install ninja packaging
# install FlashAttention
$ pip3 install flash-attn --no-build-isolation
# generate updated requirements.txt if you want to use other management tools (Optional)
$ poetry export --output requirements.txt
# get the path of python
$ which python3
# setup virtual environment
$ poetry env use /full/path/to/python
# install the requirements
$ poetry install
# run the app
$ uvicorn app.app:app --reload
Mesin terbang dibebankan oleh yang kedua dan mungkin memakan waktu hingga 15 menit dari pemalasan sebelum memutuskan untuk menutupnya sendiri. Anda dapat mematikan mesin setelah selesai dengan API untuk menghemat biaya. Anda dapat melakukan ini dengan mengirimkan permintaan POST
ke titik akhir berikut:
https://api.machines.dev/v1/apps/<app_name>/machines/<machine_id>/stop
Header Otorisasi:
Authorization Bearer <fly_token>
Lear LEBIH BANYAK DI SINI
Proyek ini adalah bagian dari Jigsawstack - serangkaian API yang kuat dan ramah pengembang untuk berbagai kasus penggunaan sambil menjaga biaya tetap rendah. Daftar di sini secara gratis!