用 Docker 一键部署 WhisperLiveKit,实现高可用语音识别
-
用 Docker 一键部署 WhisperLiveKit,实现高可用语音识别
在实时语音转文字(STT)领域,OpenAI 的 Whisper 模型准确率极高,但本地配置环境往往步骤繁琐。WhisperLiveKit 是一个优秀的开源项目,它将 Whisper 的能力封装为低延迟的实时流式语音识别服务。
本文将教你如何使用 Docker Compose,在几分钟内搭建起一个高效、稳定的中文语音识别服务器。
🛠️ Docker Compose 配置文件
首先,在你的服务器或本地电脑上创建一个名为
docker-compose.yml的文件,并将以下内容复制进去:services: whisperlivekit: # 直接从远程 GitHub 仓库构建镜像 build: context: https://github.com/quentinfuxa/whisperlivekit.git # 或者先 git clone 到本地,然后使用本地路径: # build: ./whisperlivekit container_name: whisperlivekit # 映射服务端口到宿主机 ports: - "9000:9000" # 容器启动命令:指定中文识别与 small 模型 command: | --model small --language zh --host 0.0.0.0 --port 9000 # 持久化存储,避免重复下载模型 volumes: - ./models:/root/.cache/huggingface # 策略:除非手动停止,否则总是自动重启 restart: unless-stopped # 禁用默认健康检查以提高性能(可根据需求自定义) healthcheck: test: ["NONE"] networks: {}💡 核心配置深度解析
这份配置文件针对中文实时识别和生产环境稳定性进行了深度优化,关键点如下:
- 在线构建 (
build.context):无需手动下载源码。Docker 会直接拉取 GitHub 仓库并自动完成镜像构建,保证代码是最新的。 - 参数定制 (
command):--model small:选用了small模型。它在识别准确率与计算资源消耗之间达到了完美的平衡,非常适合消费级显卡或 CPU 运行。--language zh:锁定中文识别,大幅提升中文普通话的响应速度和准确度,避免模型在多种语言间盲目猜测。--host 0.0.0.0:允许容器监听所有网络接口,方便外部设备连接。
- 模型缓存 (
volumes):Whisper 模型文件体积较大。通过将容器内的 Hugging Face 缓存目录映射到宿主机的./models文件夹,即使重启或删除了容器,模型也不必重新下载。
🚀 部署与运行步骤
1. 启动服务
在
docker-compose.yml文件所在目录下,执行以下命令构建并启动容器:docker compose up -d --build首次启动时,系统会自动下载源码并编译镜像,同时开始下载 Whisper
small中文模型,请耐心等待几分钟。2. 检查运行状态
使用以下命令查看容器是否正常运行:
如果看到
whisperlivekit处于Up状态,并且9000端口已开启,说明部署成功。3. 查看日志
如果想确认模型是否下载完成,可以查看实时日志:
🎯 总结与应用场景
通过 Docker Compose,我们成功将 WhisperLiveKit 变成了一个开箱即用的微服务。它通过 WebSocket 协议提供低延迟的音频流输入和文本输出,非常适合集成进以下场景:
- 会议实时字幕与速记系统
- 智能家居语音助手后端
- 视频直播实时同传字幕
你现在可以编写前端代码或使用客户端工具,连接到
ws://localhost:9000,开始享受丝滑的流式中文语音识别了! - 在线构建 (
歡迎留言回复交流。
Log in to reply.