当前位置: 首页 > 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.dtcms.com/a/322761.html

相关文章:

  • AI鉴伪技术:守护数字时代的真实性防线
  • 软件工程总体设计:从抽象到具体的系统构建之道
  • Python爬虫实战:研究PSpider框架,构建电商数据采集和分析系统
  • (LeetCode 每日一题) 231. 2 的幂 (位运算)
  • Python NumPy入门指南:数据处理科学计算的瑞士军刀
  • Redis缓存详解:内存淘汰和缓存的预热、击穿、雪崩、穿透的原理与策略
  • 深入理解C++多态:从概念到实现
  • AudioLLM
  • 人工智能-python-特征选择-皮尔逊相关系数
  • 第15届蓝桥杯Scratch选拔赛初级及中级(STEMA)2023年12月17日真题
  • Python爬虫实战:构建国际营养数据采集系统
  • 非常简单!从零学习如何免费制作一个lofi视频
  • 【GitHub小娱乐】GitHub个人主页ProFile美化
  • 怎么选择和怎么填写域名解析到 阿里云ECS
  • 【Redis】Redis-plus-plus的安装与使用
  • 【pyqt5】SP_(Standard Pixmap)的标准图标常量及其对应的图标
  • elementui cascader 远程加载请求使用 选择单项等
  • AcWing 4579. 相遇问题
  • 生物多样性智慧化监测平台
  • 麒麟linux服务器搭建ftp服务【经典版】
  • 本地WSL部署接入 whisper + ollama qwen3:14b 总结字幕
  • 量化投资初探:搭建比特币智能交易机器人
  • 当AI成为语言桥梁:Seq2Seq的机器翻译革命
  • [CUDA] CUTLASS | `CuTe DSL` 创新
  • C# 使用iText获取PDF的trailer数据
  • 基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
  • Baumer高防护相机如何通过YoloV8深度学习模型实现输电线路塔电缆检测分割(C#代码UI界面版)
  • 《Resolving tissue complexity by multimodal spatial omics modeling with MISO》
  • Python人工智能matplotlib中markers属性介绍
  • 【高等数学】第八章 向量代数与空间解析几何——第四节 空间直线及其方程