Docker部署whisper转写模型

部署 whisper-asr-webservice 指南

whisper-asr-webservice 是一个将 Whisper 模型封装为 HTTP API 服务的项目,以下是详细的部署方法:

  1. 准备工作
    确保你的系统已安装:

Docker 和 Docker Compose

NVIDIA 驱动和 nvidia-docker(如需 GPU 加速)

  1. 快速部署(使用 Docker)

方法一:直接使用预构建镜像

bash 复制代码
docker run -d --gpus all \
  -p 9000:9000 \
  -e ASR_MODEL=medium \
  -v ~/whisper_models:/root/.cache/whisper \
  onerahmet/openai-whisper-asr-webservice:latest

方法二:使用 Docker Compose

创建 docker-compose.yml 文件:

yml 复制代码
version: '3.8'

services:
  whisper-api:
    image: onerahmet/openai-whisper-asr-webservice:latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    ports:
      - "9000:9000"
    environment:
      - ASR_MODEL=medium  # 可选: tiny, base, small, medium, large
      - ASR_LANGUAGE=zh  # 可选: 指定默认语言
    volumes:
      - whisper_cache:/root/.cache/whisper

volumes:
  whisper_cache:

然后运行:

bash 复制代码
docker-compose up -d
  1. 从源码构建部署
    如果你想自定义构建:
bash 复制代码
git clone https://github.com/ahmetoner/whisper-asr-webservice.git
cd whisper-asr-webservice

构建镜像

复制代码
docker build -t whisper-service .

运行

复制代码
docker run -d --gpus all -p 9000:9000 -e ASR_MODEL=large whisper-service

git clone https://github.com/ahmetoner/whisper-asr-webservice.git
cd whisper-asr-webservice

# 构建镜像
docker build -t whisper-service .

# 运行
docker run -d --gpus all -p 9000:9000 -e ASR_MODEL=large whisper-service


# 报错则换命令执行(显卡驱动限制导致)
 docker run -d --runtime=nvidia -p 9000:9000 -e ASR_MODEL=large whisper-service
  1. 使用 API
    服务启动后提供以下端点:

POST /asr - 语音识别

bash 复制代码
curl -X POST -F "audio_file=@audio.mp3" http://localhost:9000/asr
  • GET /models - 获取可用模型

  • GET /languages - 获取支持语言

示例 Python 调用:

python 复制代码
import requests

url = "http://localhost:9000/asr"
files = {"audio_file": open("audio.mp3", "rb")}
response = requests.post(url, files=files)

print(response.json())
  1. 高级配置
    可以通过环境变量配置:

变量名 说明 默认值

ASR_MODEL 模型大小 (tiny,base,small,medium,large) small

ASR_LANGUAGE 默认语言代码 (如 zh, en) auto

ASR_DEVICE 计算设备 (cuda 或 cpu) cuda

ASR_COMPUTE_TYPE 计算类型 (int8, float16 等) 根据设备自动选择

  1. 注意事项

首次运行会自动下载模型文件,medium/large 模型较大需要耐心等待

中文识别建议使用 medium 或 large 模型

对于生产环境,建议:

添加认证中间件

使用 Nginx 反向代理

设置资源限制

  1. 扩展部署

对于 Kubernetes 部署,可以使用类似的配置,确保正确配置 GPU 资源请求。

如需更复杂的部署方案,可以 fork 项目并根据需要修改代码,特别是 app/main.py 中的 API 逻辑。

相关推荐
吐个泡泡v3 小时前
Portainer:Docker可视化管理神器部署与使用攻略
运维·docker·容器·portainer
逾非时4 小时前
nacos微服务介绍及环境搭建
docker·微服务·云原生·架构
北纬34度停留5 小时前
K8s服务日志收集方案文档
云原生·容器·kubernetes
Poppy .^0^7 小时前
从实操到原理:一文搞懂 Docker、Tomcat 与 k8s 的关系(附踩坑指南 + 段子解疑)
docker·kubernetes·tomcat
weitao_118 小时前
php + docker + idea debug
docker·php
zjjuejin10 小时前
Docker 镜像管理完全指南:从拉取到迁移的终极实践
后端·docker
会写代码的饭桶10 小时前
【服务器部署】CentOS 7/8 离线部署 Harbor v2.10.3 超详细攻略
docker·centos·harbor·离线安装·私有镜像仓库
Johny_Zhao13 小时前
达梦数据库高可用集群部署方案
linux·mysql·网络安全·docker·信息安全·kubernetes·云计算·shell·containerd·达梦数据库·yum源·系统运维·centos8
Lethehong13 小时前
从零开始在Ubuntu上快速部署Docker和Dify:结合 Dify + 蓝耘 MaaS平台打造 AI 应用实战指南
linux·人工智能·ubuntu·docker·蓝耘智算·蓝耘maas平台
搞不懂语言的程序员15 小时前
docker 部署Skywalking
docker·容器·skywalking