镜像概述和主要用途
samil24/whisper-large-sorani-v2是一个专注于自动语音识别(ASR)任务的Docker镜像,基于Whisper模型的large-sorani-v2版本构建。该镜像提供本地部署能力,支持通过API接口将语音转换为文本,适用于需要隐私保护、自定义控制和高性能语音处理的场景。
核心功能和特性
- 自动语音识别:基于Whisper模型实现高精度语音转文本
- 本地部署支持:可在本地环境运行,增强数据隐私和处理控制
- GPU加速:支持Nvidia GPU加速,提升语音处理性能
- 模型权重缓存:支持本地存储模型权重,减少重复下载时间
- 灵活配置:提供丰富的推理参数和环境变量,适应不同使用需求
使用场景和适用范围
- 开发需要本地语音识别功能的应用程序
- 处理隐私敏感的语音数据,避免云端传输
- 构建高性能语音转文本服务,如会议记录、语音助手等
- 研究和调试语音识别模型,自定义调整识别参数
使用方法和配置说明
前提条件
- 安装Docker环境
- 获取Bytez API密钥(访问Bytez设置页面注册并获取)
拉取Docker镜像
bash
docker pull bytez/samil24_whisper-large-sorani-v2
运行容器
基本运行(默认端口8000)
bash
docker run -it \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-e PORT=8000 \
-p 8000:8000 \
bytez/samil24_whisper-large-sorani-v2
自定义端口
如需使用其他端口(如80):
bash
docker run -it \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-e PORT=80 \
-p 80:80 \
bytez/samil24_whisper-large-sorani-v2
本地缓存模型权重
为避免重复下载大模型,可将权重保存到本地目录:
bash
docker run -it \
-v /本地缓存目录路径:/server/model \
-e HF_HOME=/server/model \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/samil24_whisper-large-sorani-v2
示例(Linux系统):
bash
docker run -it \
-v /home/user/models:/server/model \
-e HF_HOME=/server/model \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/samil24_whisper-large-sorani-v2
GPU加速运行
确保已安装Nvidia驱动和CUDA,添加--gpus all参数:
bash
docker run -it \
--gpus all \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/samil24_whisper-large-sorani-v2
本地缓存+GPU加速
bash
docker run -it \
--gpus all \
-v /本地缓存目录路径:/server/model \
-e HF_HOME=/server/model \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/samil24_whisper-large-sorani-v2
发送推理请求
通过POST请求调用API,示例:
bash
curl --location 'http://0.0.0.0:8000/run' \
--header 'Content-Type: application/json' \
--data-raw '{
"b64AudioBufferWav": "INSERT_B64_WAV_AUDIO_HERE",
"params": {
"forward_params": {
"language": "french",
"task": "transcribe"
}
}
}'
环境变量配置
| 环境变量 | 描述 | 默认值 | 可选值 |
|---|
| KEY | Bytez API密钥,必需 | - | 从Bytez获取的API密钥 |
| PORT | 容器内服务端口 | 8000 | 任意有效端口号 |
| DEVICE | 指定运行设备 | auto | auto, cuda, cpu |
| HF_HOME | 模型权重缓存目录 | - | 容器内路径,需配合-v挂载本地目录 |
- DEVICE说明:
auto:自动检测,优先使用GPU,内存不足时使用系统RAM
cuda:强制使用GPU
cpu:强制使用CPU
模型参数
长度控制
- max_length (int, 可选):生成tokens的最大长度,默认20
- max_new_tokens (int, 可选):生成新tokens的最大数量(忽略提示中的tokens数)
- min_length (int, 可选):生成序列的最小长度,默认0
- min_new_tokens (int, 可选):生成新tokens的最小数量(忽略提示中的tokens数)
- early_stopping (bool/str, 可选):控制基于beam的方法的停止条件,默认False
- max_time (float, 可选):计算的最大时间限制
生成策略
- do_sample (bool, 可选):是否使用采样而非贪婪解码,默认False
- num_beams (int, 可选):beam search的beam数量,默认1
- num_beam_groups (int, 可选):beam组数量(用于多样性),默认1
- penalty_alpha (float, 可选):平衡模型置信度和退化惩罚
- use_cache (bool, 可选):是否使用缓存加速解码,默认True
概率调整
- temperature (float, 可选):调节下一个token的概率,默认1
- top_k (int, 可选):保留最高概率的token数量,默认50
- top_p (float, 可选):累积概率阈值,默认1
- typical_p (float, 可选):局部典型性阈值,默认1
- epsilon_cutoff (float, 可选):截断采样阈值,默认0
- eta_cutoff (float, 可选):Eta采样阈值,默认0
- diversity_penalty (float, 可选):多样性惩罚,默认0
- repetition_penalty (float, 可选):重复惩罚,默认1
- encoder_repetition_penalty (float, 可选):编码器重复惩罚,默认1
- length_penalty (float, 可选):长度惩罚,默认1
- no_repeat_ngram_size (int, 可选):禁止重复ngram大小,默认0
- bad_words_ids (List[List[int]], 可选):禁止生成的token列表
- force_words_ids (List[List[int]], 可选):强制生成的token列表
- renormalize_logits (bool, 可选):是否重新归一化logits,默认false
- constraints (List[Constraint], 可选):自定义生成约束
- forced_bos_token_id (int, 可选):强制开始token id
- forced_eos_token_id (int/List[int], 可选):强制结束token id
- remove_invalid_values (bool, 可选):移除无效值(nan/inf),默认false
- exponential_decay_length_penalty (tuple(int, float), 可选):指数衰减长度惩罚
- suppress_tokens (List[int], 可选):抑制生成的token列表
- begin_suppress_tokens (List[int], 可选):生成开始时抑制的token列表
- forced_decoder_ids (List[List[int]], 可选):强制解码器token映射
- sequence_bias (Dict[Tuple[int], float], 可选):序列偏置
- guidance_scale (float, 可选):分类器自由引导尺度,默认1
- low_memory (bool, 可选):低内存模式,默认false
生成参数
- num_return_sequences (int, 可选):返回序列数量,默认1
- output_attentions (bool, 可选):返回注意力张量,默认false
- output_hidden_states (bool, 可选):返回隐藏状态,默认false
- output_scores (bool, 可选):返回预测分数,默认false
- output_logits (bool, 可选):返回未处理logits,默认false
- return_dict_in_generate (bool, 可选):返回ModelOutput对象,默认false
特殊tokens
- pad_token_id (int, 可选):填充token id
- bos_token_id (int, 可选):序列开始token id
- eos_token_id (int/List[int], 可选):序列结束token id
编码器-解码器生成参数
- encoder_no_repeat_ngram_size (int, 可选):编码器ngram重复限制,默认0
- decoder_start_token_id (int/List[int], 可选):解码器开始token id
辅助生成参数
- num_assistant_tokens (int, 可选):辅助模型生成的推测tokens数量,默认5
- num_assistant_tokens_schedule (str, 可选):推测tokens调度策略,默认heuristic
缓存参数
- cache_implementation (str, 可选):缓存实现类,默认null
生成额外参数
- generation_kwargs (object, 可选):传递给generate函数的额外参数
完整参数列表参见Hugging Face文档。
支持与帮助
- 加入Bytez ***获取实时支持
- 发送邮件至***获取帮助