项目介绍:Insanely Fast Whisper API
Insanely Fast Whisper API 是一个音频转文本服务的接口,利用 OpenAI 的 Whisper Large v3 模型进行高效的音频转录。该项目背后使用的是 🤗 Transformers、Optimum 和 flash-attn 技术,以确保快速处理和高性能表现。
功能简介
- 🎤 极速转录:能够以极快的速度将音频转换为文本。
- 📖 完全开源:支持在任何支持 GPU 的云服务提供商上进行部署。
- 🗣️ 内建发言者区分:支持识别不同说话者的声音片段。
- ⚡ 简单易用的 API 层:快速的接口调用体验。
- 📃 异步背景任务和网络钩子:支持异步处理和任务完成后的自动通知。
- 🔥 并发和并行处理优化:适合大规模的生产环境。
- ✅ 完善的任务管理:任务支持取消和状态查询。
- 🔒 管理员认证:提供安全的 API 访问。
- 🧩 完整管理的 API:可在 JigsawStack 上使用,支持云端高扩展性。
背景与技术
该项目基于 Insanely Fast Whisper CLI 项目,旨在通过 Docker 在云基础设施(尤其是在支持 GPU 的服务上)上提供可部署的转录 API。用户可以选择在 Fly.io 上进行部署,该平台近日刚推出了 GPU 相关服务,配置文件的设置使得部署变得极为简单。
性能测试
经过在 Nvidia A100 - 80GB 和 Fly.io 的 GPU 基础设施上的一系列性能测试,该服务在优化条件下,能够在大约2分钟内处理150分钟的音频内容。
Docker 镜像
用户可以通过 Docker Hub 获取最新的镜像使用:
yoeven/insanely-fast-whisper-api:latest
部署指导
在 Fly.io 上部署
- 确保已经获取 Fly.io 的 GPU 使用权限。
- 克隆项目并进入项目根目录。
- 根据需要重命名
fly.toml
文件中的app
名称。 - 删除
fly.toml
文件中的镜像配置行来重新构建 Docker 镜像。
初始部署可能会因为镜像较大而耗时较长,但之后的更新会更快。可以通过设置环境变量来配置发言者区分或 API 安全认证。
在其他云提供商上部署
由于项目是 Docker 化应用,只需对配置进行少量调整即可在任何支持 Docker 和 GPU 的云服务上部署。
API 使用说明
认证
设置 ADMIN_KEY
之后,需要在请求头中使用 x-admin-api-key
进行身份认证。
主要 API 接口
- POST
/
:用于转录或翻译音频。 - GET
/tasks
:获取所有活动中的转录任务。 - GET
/status/{task_id}
:查询某一任务的状态。 - DELETE
/cancel/{task_id}
:取消异步任务。
本地运行
可以在本地克隆代码库并按照指引配置 Python 环境,运行为局域网提供服务。
补充功能
项目还支持程序化关闭 Fly 机器,以节省云资源费用。当 API 不再需要使用时,可以通过发出一个 POST 请求来关闭机器。
鸣谢
感谢 Vaibhav Srivastav 编写了项目代码的大部分及 CLI 版本,并感谢 OpenAI 提供的 Whisper 模型。
JigsawStack
这是 JigsawStack 项目集的一部分,致力于提供高性价比的强大 API 服务。用户可免费注册使用。