这个坑值得记一笔。whisperx 3.3 在内网机器上跑中文转写,load_align_model 下载 wav2vec2 权重时报连接超时,转写本身能跑完,只有对齐必失败。

刚开始盯着「语言代码写 zh 但模型名需要完整路径」,折腾了半个多小时,排掉了。

原因不止一个,得分开看。对齐模型要从 HuggingFace 拉取,内网不可达;HF_HOME 指向的目录没有写权限;代理变量只对 pip 生效,python 进程没继承。

上来先把对齐模型预下载到本地

huggingface-cli download jonatasgrosman/wav2vec2-large-xlsr-53-chinese-zh-cn --local-dir ./align_zh

再往下用本地目录做对齐

python -c "import whisperx;m,a=whisperx.load_align_model(language_code='zh',model_name='./align_zh');print('loaded')"

接着确认转写模型也能离线加载

python -c "import whisperx;print(whisperx.load_model('small',device='cpu',compute_type='int8'))"

剩下的就是跑完整流程看时间戳

python -c "import whisperx;print('align ok')"

白天有业务在跑,能验证的部分都压到了晚上做。

别只看报错消失,验证要多做一步。对齐返回带词级时间戳的结果,日志里不再出现下载请求,端到端耗时下降一半。

这里还有个坑。对齐模型和转写模型是两套权重,离线部署时两个都要提前放到位。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189