# Whisper 语音识别服务 - 服务器部署指南 ## 一、环境要求 - Python 3.8+ - 2GB+ 内存 - 2GB+ 硬盘空间(用于 Whisper 模型) - ffmpeg --- ## 二、安装步骤(内网服务器) ### 1️⃣ 安装 ffmpeg #### CentOS/RHEL 服务器 ```bash sudo yum install -y epel-release sudo yum install -y ffmpeg ``` #### Ubuntu/Debian 服务器 ```bash sudo apt update sudo apt install -y ffmpeg ``` #### Windows 服务器 ```powershell # 下载 ffmpeg # https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip # 解压到 C:\ffmpeg # 添加环境变量:C:\ffmpeg\bin ``` 验证安装: ```bash ffmpeg -version ``` --- ### 2️⃣ 安装 Python 依赖(使用清华镜像) #### 方式一:自动安装(推荐) **Linux 服务器:** ```bash chmod +x install_whisper.sh ./install_whisper.sh ``` **Windows 服务器:** ```cmd install_whisper.bat ``` #### 方式二:手动安装 ```bash # 配置镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 安装依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` --- ### 3️⃣ 首次运行(下载模型) ```bash python whisper_server.py ``` **首次运行时,会自动下载 Whisper base 模型(约 140MB)** 下载位置: - Linux: `~/.cache/whisper/` - Windows: `C:\Users\用户名\.cache\whisper\` ⚠️ **内网环境注意:** 如果服务器无法联网下载模型,需要**离线下载**: ```bash # 在有网络的机器上下载模型 python -c "import whisper; whisper.load_model('base')" # 将模型文件复制到服务器 # 模型文件:base.pt(约 140MB) # 位置:~/.cache/whisper/base.pt ``` --- ### 4️⃣ 启动服务 #### 前台运行(测试用) ```bash python whisper_server.py ``` #### 后台运行(生产环境) **Linux - 使用 nohup:** ```bash nohup python whisper_server.py > whisper.log 2>&1 & ``` **Linux - 使用 systemd(推荐):** 创建服务文件 `/etc/systemd/system/whisper.service`: ```ini [Unit] Description=Whisper Speech Recognition Service After=network.target [Service] Type=simple User=root WorkingDirectory=/path/to/project/Test/python ExecStart=/usr/bin/python3 whisper_server.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target ``` 启动服务: ```bash sudo systemctl daemon-reload sudo systemctl start whisper sudo systemctl enable whisper # 开机自启 sudo systemctl status whisper # 查看状态 ``` **Windows - 使用 NSSM(推荐):** ```powershell # 下载 NSSM:https://nssm.cc/download nssm install Whisper "C:\Python\python.exe" "C:\path\to\whisper_server.py" nssm start Whisper ``` --- ## 三、验证服务 ### 1. 健康检查 ```bash curl http://服务器IP:5001/health ``` 返回: ```json { "status": "ok", "service": "Whisper语音识别服务", "model": "base" } ``` ### 2. 测试识别 ```bash curl -X POST -F "file=@test.mp3" -F "language=zh" http://服务器IP:5001/recognize ``` --- ## 四、Java 后端配置 修改 `LocalWhisperService.java` 中的服务地址: ```java private static final String WHISPER_URL = "http://服务器IP:5001"; ``` 重启 Java 应用。 --- ## 五、防火墙配置 ### CentOS/RHEL ```bash sudo firewall-cmd --permanent --add-port=5001/tcp sudo firewall-cmd --reload ``` ### Ubuntu/Debian ```bash sudo ufw allow 5001/tcp ``` ### Windows ```powershell netsh advfirewall firewall add rule name="Whisper Service" dir=in action=allow protocol=TCP localport=5001 ``` --- ## 六、性能优化建议 ### 1. 使用更小的模型(更快) 编辑 `whisper_server.py` 第 48 行: ```python whisper_model = whisper.load_model("tiny") # 最快,准确度降低 ``` ### 2. 使用更大的模型(更准确) ```python whisper_model = whisper.load_model("small") # 准确度提升,速度降低 ``` ### 3. GPU 加速(如果有显卡) ```python whisper_model = whisper.load_model("base", device="cuda") ``` --- ## 七、常见问题 ### Q1: 模型下载失败? **A:** 使用离线下载,手动复制模型文件到 `~/.cache/whisper/` ### Q2: 识别速度慢? **A:** 换用 `tiny` 模型,或使用 GPU ### Q3: 内存不足? **A:** 至少 2GB 内存,关闭其他服务 ### Q4: 无法访问服务? **A:** 检查防火墙、端口、IP 地址配置 --- ## 八、卸载 ```bash # 停止服务 sudo systemctl stop whisper # 卸载 Python 包 pip uninstall openai-whisper flask flask-cors # 删除模型文件 rm -rf ~/.cache/whisper/ ``` --- ## 联系支持 如有问题,请检查日志文件 `whisper.log`