OpenAi의 Whisper Large V3로 오디오를 전사하는 API! 전원에 의해? 트랜스포머, 최적 및 플래시 아트
특징:
미친 듯이 빠른 속삭임 CLI 프로젝트를 기반으로합니다. 이 프로젝트를 현지에서 설정하려면 확인하거나 미친 듯이 창고의 배경을 이해하십시오.
이 프로젝트는 확장 가능한 생산 사용 사례를위한 GPU와 함께 클라우드 인프라에 Docker와 함께 배치 가능한 Blazing Fast Whisper API를 제공하는 데 중점을 둡니다.
Fly.io의 최근 GPU 서비스 런칭을 통해 Fly Machines에 쉽게 배포 할 FLY 구성 파일을 설정했습니다! 그러나이를 GPU 및 Docker를 지원하는 다른 VM 환경에 배포 할 수 있습니다.
다음은 NVIDIA A100-80GB 및 FLY.IO GPU Infra에서 실행 한 벤치 마크입니다.
최적화 유형 | 전사 시간 (오디오 150 분) |
---|---|
대형 V3 (변압기) ( fp16 + batching [24] + Flash Attention 2 ) | ~ 2 ( 1 분 38 초 ) |
대형 V3 (변압기) ( fp16 + batching [24] + Flash Attention 2 + diarization ) | ~ 2 ( 3 분 16 초 ) |
대형 V3 (변압기) ( fp16 + batching [24] + Flash Attention 2 + fly machine startup ) | ~ 2 ( 1 분 58 초 ) |
LAGE-V3 (변압기) ( fp16 + batching [24] + Flash Attention 2 + diarization + fly machine startup ) | ~ 2 ( 3 분 36 초 ) |
GPU가있는 플라이 머신 및 모델로드 된 플라이 컴퓨터의 예상 시작 시간은 약 ~ 20 초입니다. 나머지 시간은 실제 계산에 소비됩니다.
yoeven/insanely-fast-whisper-api:latest
Docker Hub : Yoeven/Fast-Fast-Whisper-Api
fly.toml
에서 app
이름 이름을 바꿉니다.image = 'yoeven/insanely-fast-whisper-api:latest'
in Dockerfile
에서 이미지를 재건하려는 경우에만 fly.toml
을 제거하십시오.아직 없으면 Fly CLI를 설치하십시오
새로운 플라이 앱을 처음 시작할 때만 실행하면됩니다.
fly launch
Fly는 프롬프트 : Would you like to copy its configuration to the new app? (y/N)
. 예 ( y
) repo에서 구성을 복사합니다.
Fly는 프롬프트 : 조정할 것이 없으면 Do you want to tweak these settings before proceeding
? 필요한 설정의 대부분은 이미 fly.toml
파일에 구성되어 있습니다. 진행 및 배포 n
없습니다.
처음 배치하면 이미지가 크기 때문에 시간이 걸립니다. 후속 배포가 훨씬 빠릅니다.
스피커 발기 또는 API를 확보하기 위해 인증 토큰을 설정하려면 다음을 실행하십시오.
fly secrets set ADMIN_KEY= < your_token > HF_TOKEN= < your_hf_key >
fly secrets list
실행하여 비밀이 존재하는지 확인하십시오.
스피커 제기를위한 포옹 페이스 토큰을 얻으려면 다음을 수행해야합니다.
pyannote/segmentation-3.0
사용자 조건을 수락하십시오pyannote/speaker-diarization-3.1
사용자 조건을 수락하십시오hf.co/settings/tokens
에서 액세스 토큰을 만듭니다.API는 다음과 같이 보일 것입니다.
https://insanely-fast-whisper-api.fly.dev
fly logs -a insanely-fast-whisper-api
실행하십시오.
이것은 dockerized 앱이므로 몇 가지 구성 조정으로 Docker 및 GPU를 지원하는 클라우드 제공 업체에 배포 할 수 있습니다.
Jigsawstack은 비용을 낮게 유지하면서 다양한 사용 사례에 대한 강력한 API를 제공합니다. 이 프로젝트는 비용 효율성과 높은 가동 시간을위한 클라우드 확장 성이 향상된 완전히 관리되는 API로 제공됩니다. 무료로 가입하십시오!
ADMIN_KEY
환경을 비밀로 설정 한 경우. 이전에 설정 한 키의 값으로 헤더에 x-admin-api-key
전달해야합니다.
즉석에 배치 된 경우 기본 URL은 다음과 같습니다.
https://{app_name}.fly.dev/{path}
배포하는 클라우드 제공 업체에 따라 기본 URL이 다릅니다.
/
오디오를 텍스트로 전사하거나 번역하십시오
이름 | 값 |
---|---|
URL (필수) | 오디오의 URL |
일 | transcribe , 기본값 translate : transcribe |
언어 | None , en , 기타 언어 기본값 : None 자동 감지 언어 |
batch_size | 계산하려는 병렬 배치 수. OOM에 직면하면 줄입니다. 기본값 : 64 |
타임 스탬프 | chunk , word 기본값 : chunk |
diarise_audio | 스피커 별 오디오 클립을 제시하십시오. hf_token을 설정해야합니다. 기본값 : false |
Webhook | Webhook POST 완료 또는 오류에 대한 호출. 기본값 : None |
webhook.url | webhook를 보내는 URL |
webhook.header | Webhook과 함께 보낼 헤더 |
IS_ASYNC | 백그라운드에서 작업을 실행하고 Webhook URL에 결과를 보냅니다. true , false Default : false |
managed_task_id | 진행중인 작업을 참조하는 데 사용되는 사용자 정의 작업 ID. 기본값 : uuid() v4 will be generated for each transcription task |
/tasks
얻습니다비동기 배경 작업 및 진행중인 작업 모두에서 모든 활성 전사 작업을 받으십시오.
/status/{task_id}
작업 상태를 가져 오면 목록에서 완료된 작업이 제거되어 오류가 발생할 수 있습니다.
/cancel/{task_id}
비동기 배경 작업을 취소합니다. is_async
true
로 설정된 전사 작업 만 취소 할 수 있습니다.
# 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
플라이 머신은 두 번째 기계가 청구되며 자체적으로 폐쇄하기로 결정하기 전에 최대 15 분의 공회전이 필요할 수 있습니다. API를 완료하면 비용을 절약 할 때 기계를 종료 할 수 있습니다. POST
요청을 다음 엔드 포인트로 보내면이 작업을 수행 할 수 있습니다.
https://api.machines.dev/v1/apps/<app_name>/machines/<machine_id>/stop
인증 헤더 :
Authorization Bearer <fly_token>
여기에 더 많이 Lear
이 프로젝트는 비용을 낮게 유지하면서 다양한 사용 사례를위한 강력하고 개발자 친화적 인 API 스위트 인 Jigsawstack의 일부입니다. 무료로 가입하십시오!