镜像概述
本镜像封装了roshna-omer/whisper-small-Kurdish-Sorani-10模型,专为库尔德语(索拉尼语)自动语音识别(ASR)任务设计。基于Whisper模型架构优化,可将库尔德语语音音频转换为文本。镜像支持本地部署,提供灵活的配置选项,包括端口自定义、权重本地缓存及GPU加速,适用于需要处理库尔德语语音数据的应用场景。
核心功能与特性
- 专业语言支持:针对库尔德语(索拉尼语)优化的语音识别模型
- 容器化部署:通过Docker快速部署,简化环境配置
- 灵活端口配置:支持自定义服务端口,适应不同网络环境
- 本地权重缓存:可将模型权重保存至本地磁盘,避免重复下载
- GPU加速:支持NVIDIA GPU,提升推理性能
- 可配置设备策略:支持CPU、GPU或自动设备选择模式
使用场景
- 库尔德语语音数据转写与归档
- 本地化语音识别服务部署
- 库尔德语语音交互应用开发
- 语音内容分析与处理系统集成
使用方法
前置要求
- 安装Docker环境
- 获取Bytez API密钥:访问Bytez设置页面注册并获取API密钥
步骤1:拉取镜像
bash
docker pull bytez/roshna-omer_whisper-small-kurdish-sorani-10
步骤2:启动容器
基础配置(默认端口8000)
bash
docker run -it \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-e PORT=8000 \
-p 8000:8000 \
bytez/roshna-omer_whisper-small-kurdish-sorani-10
自定义端口(例如端口80)
bash
docker run -it \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-e PORT=80 \
-p 80:80 \
bytez/roshna-omer_whisper-small-kurdish-sorani-10
步骤3:发送推理请求
通过POST请求发送Base64编码的WAV音频数据:
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": "kurdish",
"task": "transcribe"
}
}
}'
本地权重缓存配置
为避免重复下载模型权重,可将权重保存至本地目录:
bash
docker run -it \
-v /PATH/TO/YOUR/CACHING/DIRECTORY:/server/model \
-e HF_HOME=/server/model \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/roshna-omer_whisper-small-kurdish-sorani-10
示例(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/roshna-omer_whisper-small-kurdish-sorani-10
GPU加速配置
确保已安装NVIDIA驱动和CUDA,添加--gpus all参数启用GPU支持:
bash
docker run -it \
--gpus all \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/roshna-omer_whisper-small-kurdish-sorani-10
本地缓存+GPU加速组合配置
bash
docker run -it \
--gpus all \
-v /PATH/TO/YOUR/CACHING/DIRECTORY:/server/model \
-e HF_HOME=/server/model \
-e KEY=YOUR_BYTEZ_API_KEY_HERE \
-p 8000:8000 \
-e PORT=8000 \
bytez/roshna-omer_whisper-small-kurdish-sorani-10
环境变量说明
| 环境变量 | 说明 | 默认值 | 可选值 |
|---|
KEY | Bytez API密钥(必需) | - | 从Bytez获取的API密钥 |
PORT | 服务端口 | 8000 | 任意有效端口号 |
HF_HOME | 模型权重缓存目录 | - | 容器内路径,需配合-v挂载本地目录 |
DEVICE | 运行设备 | auto | auto(自动选择)、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, 可选): 控制基于波束搜索的停止条件,默认值:False
- max_time (float, 可选): 计算的最大时间限制
生成策略
- do_sample (bool, 可选): 是否使用采样而非贪婪解码,默认值:False
- num_beams (int, 可选): 波束搜索的波束数量,默认值:1
- num_beam_groups (int, 可选): 波束组数量(用于波束多样性),默认值:1
- penalty_alpha (float, 可选): 模型置信度与退化惩罚的平衡参数
- use_cache (bool, 可选): 是否使用缓存加速解码,默认值:True
Logits 操作
- temperature (float, 可选): 调制下一个 token 概率的温度值,默认值:1
- top_k (int, 可选): top-k 过滤保留的最高概率词汇 token 数量,默认值:50
- top_p (float, 可选): 累积概率达此值的最小 token 集,默认值: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 ID 列表
- force_words_ids (List[List[int]], 可选): 强制生成的 token ID 列表
- 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, 可选): 辅助模型生成的推测 token 数,默认值:5
- num_assistant_tokens_schedule (str, 可选): 辅助 token 调度策略,默认值:heuristic
缓存参数
- cache_implementation (str, 可选): 生成时使用的缓存实现,默认值:null
生成 kwargs
- generation_kwargs (object, 可选): 传递给 generate 函数的额外参数
完整参数列表参考 Hugging Face Transformers 文档
支持与帮助
- 加入 Bytez *** 获取实时支持
- 发送邮件至 *** 寻求帮助