
Whisper 本地部署指南10 分钟用 LocalAI 跑通离线语音识别【免费下载链接】LocalAILocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI3 小时的会议录音走云端接口要过公网、按分钟计费换成 LocalAI 做本地语音识别同一条 curl 在内网离线跑完返回的还是标准 JSON。这篇文章按「先跑起来、再调对、最后提速」的顺序带你把 Whisper 本地部署完整走一遍。一、先跑起来一条命令拉起 LocalAI 与 whisper 模型1. 启动服务装 Docker 的机器上这条命令就是最短路径docker run -ti --name local-ai -p 8080:8080 localai/localai:latest服务默认监听 8080。不想用 Docker 也可以下载官方发布的二进制直接运行参数一样是--host和--port细节可翻仓库里的 Dockerfile 与文档 docs/content/features/。2. 加载 Whisper 模型容器起来后在宿主机执行local-ai run whisper-baseLocalAI 会从内置模型库gallery里解析这个条目拉取对应的 whisper.cpp 权重并注册到服务。仓库中该条目就是 gallery/whisper-base.yaml想看它长什么样第三节有完整解析。3. 验证服务在线执行curl http://localhost:8080/v1/models返回的模型列表里出现whisper-base即加载成功。打开浏览器访问http://localhost:8080还能看到控制台首页二、发第一个请求语音转录 API 的调用姿势1. 最小可用 curl端点/v1/audio/transcriptions完全对齐 OpenAI 的 Whisper 接口multipart 表单提交curl http://localhost:8080/v1/audio/transcriptions \ -F fileaudio.wav \ -F modelwhisper-base \ -F languagezh响应里有text全文、segments带起止时间的分段。处理逻辑可对照源码 core/http/endpoints/openai/transcription.go。2. 常用参数对照表参数必填说明file是音频文件wav/ogg/mp3/flac/m4a 等常见格式均可model是模型名如whisper-baselanguage否ISO-639-1 两位代码zh、en、ja…不传则自动检测translate否传true时把非英语音频翻译成英语prompt否起始提示词适合纠正专有名词与术语temperature否采样温度默认 0response_format否json默认、verbose_json、txt、srt、vtt、lrctimestamp_granularities否取segment或word让分段/分词带时间戳stream否传true时以 SSE 增量输出转写文本diarize否LocalAI 扩展项说话人分离默认开启传false关闭3. 换输出格式与流式转写response_format传srt或vtt返回的就是可直接挂到视频上的字幕文件streamtrue则进入流式模式按transcript.text.delta事件逐段推送文本最后以[DONE]收尾做低延迟应用时很有用。三、Whisper 模型怎么选tiny 到 large 五档对比1. 参数量与适用场景模型参数量定位tiny39M草稿与低延迟场景速度最快base74M日常转写的性价比之选多数 CPU 可实时small244M精度与速度的平衡点中文访谈推荐先试这档medium769M长音频、专业术语多的内容large1550M精度上限对内存要求最高建议 16GB 起步选型口诀先 base 后 small听感不行再往上加档资源紧张就降档而不是堆内存。2. 模型配置长什么样模型条目由两部分构成名字 后端声明。whisper 系列的条目核心只有一行backend: whispername: whisper-base config_file: | backend: whisperLocalAI 依据声明路由到 whisper.cpp 后端实现见 backend/go/whisper/C 侧接的就是 whisper.cpp 推理核。已持有.bin权重文件的可自建配置文件指向本地文件避免重复下载。四、让转写更快硬件底线与调参1. 硬件要求部件跑通 whisper-base 底线日常使用建议CPU2 核4~8 核x86 需支持 AVX2内存2GB8GB 以上large 档 16GB 起步磁盘权重文件 若干 GB 余量预留 10GBGPU无需CPU 即可推理有 NVIDIA 卡可换带 CUDA 的镜像提速2. CPU 侧三个调优点第一是线程数在模型配置的parameters里设置threads一般取物理核数第二是模型档位精度够用就别上 large第三是输入长度超过几分钟的音频先分段再转单段排队更短、内存峰值更低。whisper 后端内部带 VAD 辅助切分长音频减少无效区间的计算。3. 输入音频预处理采样率统一到 16kHz、单声道即可格式五花八门时用 ffmpeg 转一次 wav 最稳妥。预处理后同一文件的转写耗时通常更平稳也省去了后端解码的差异。五、排错手册按报错现象定位1. 下载阶段卡住大模型在慢速网络上很容易长时间无进度。两个办法换稳定网络重拉或按 gallery/whisper-base.yaml 同目录的条目对照文件名手工把权重放进模型目录后重启服务。2. 推理阶段 OOM 或无输出先看dmesg是否触发 OOM其次把档位降一级、threads减到物理核数。长时间无输出多半是线程数远超物理核导致的上下文切换风暴。3. 模型名对不上请求里的model必须和/v1/models返回的注册名完全一致whisper-base写成whisper base或base都会 404。六、接入你的应用兼容层与下一步1. OpenAI 兼容意味着零改造现有代码只要把 base_url 指到http://localhost:8080/v1、密钥位填任意字符串即可SDK 不需要换。这也是 LocalAI 的设计目标之一本地语音识别服务对上游应用完全透明。2. 三条可以今天就做的下一步用response_formatsrt转一段 5 分钟视频导入播放器核对时间轴对齐质量。同一份中文访谈分别跑whisper-base与whisper-small把两版文本贴在一起对比术语准确率。给转写请求加上streamtrue写一个最小的 SSE 消费脚本观察增量文本的到达节奏。【免费下载链接】LocalAILocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考