当前位置: 首页 > news >正文

Docker部署whisper转写模型

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

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

Docker 和 Docker Compose
NVIDIA 驱动和 nvidia-docker(如需 GPU 加速)
2. 快速部署(使用 Docker)
方法一:直接使用预构建镜像


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 文件:


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

然后运行:


docker-compose up -d
  1. 从源码构建部署
    如果你想自定义构建:

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-servicegit 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 - 语音识别


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

  • GET /languages - 获取支持语言

示例 Python 调用:


import requestsurl = "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 等) 根据设备自动选择
6. 注意事项
首次运行会自动下载模型文件,medium/large 模型较大需要耐心等待
中文识别建议使用 medium 或 large 模型
对于生产环境,建议:
添加认证中间件
使用 Nginx 反向代理
设置资源限制
7. 扩展部署
对于 Kubernetes 部署,可以使用类似的配置,确保正确配置 GPU 资源请求。

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

在这里插入图片描述

http://www.lryc.cn/news/615319.html

相关文章:

  • Java中Lambda表达式的常见用法和解析:从入门到实战
  • C/C++基础详解(二)
  • 【51单片机4按键启动停止向上向下流水灯】2022-10-26
  • 本文章分享一个本地录音和实时传输录音给app的功能(杰理)
  • 【c++】探秘Loop机制:C++中优雅的双向数据交互模式
  • Ubuntu下安全彻底删除后端服务完整指南
  • 网络原理-初识
  • PNPM总结
  • QT第一讲- Qt初探
  • Microsoft Office Visio(流程图)学习笔记
  • 使用SymPy lambdify处理齐次矩阵的高效向量化计算
  • 动手学深度学习(pytorch版):第二章节——预备知识(1)——数据操作
  • 2025华数杯数学建模C题:可调控生物节律LED光源全解析
  • 理解协议最大传输单元(MTU)和TCP 最大报文段长度(MSS)
  • 自动生成视频的AI大模型高效创作指南
  • 掌握数据可视化:全局配置项详解
  • Nginx 反向代理与负载均衡架构
  • Redhat Linux 9.6 配置本地 yum 源
  • qt文件操作与qss基础
  • 2025彩虹易支付官方正版无删减完整版源码
  • B.10.01.5-电商系统的设计模式应用实战
  • 【Canvas与旗帜】圆角蓝底大黄白星十一红白带旗
  • Node.js特训专栏-实战进阶:22. Docker容器化部署
  • 北京JAVA基础面试30天打卡05
  • STM32的中断系统
  • 05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
  • 【排序算法】③直接选择排序
  • 心灵笔记:思考三部曲
  • 使用 Spring Boot 集成七牛云实现图片/文件上传
  • 机器翻译:FastText算法详解与Python的完整实现