==================================== Windows 服务器 Whisper 服务启动指南 ==================================== 【前置条件】 1. Python 已安装(推荐 Python 3.8+) 2. 已安装依赖:pip install flask openai-whisper 【快速启动步骤】 步骤1: 定位 Whisper 服务目录 --------------------------------------- 请告诉我你的 Whisper 服务在哪个目录,例如: - D:\whisper-service\ - C:\Program Files\whisper\ - 或其他位置 步骤2: 启动服务 --------------------------------------- 方式1:使用命令行 1. 打开 PowerShell 或 CMD 2. 进入 Whisper 服务目录 cd D:\whisper-service 3. 启动服务 python app.py 或指定完整路径: python D:\whisper-service\app.py 方式2:使用启动脚本 创建 start_whisper.bat 文件: --------------------------------------- @echo off cd /d D:\whisper-service echo 正在启动 Whisper 服务... python app.py pause --------------------------------------- 双击运行 start_whisper.bat 步骤3: 确认启动成功 --------------------------------------- 看到以下信息说明启动成功: ✓ "Running on http://0.0.0.0:5001" ✓ "Running on http://127.0.0.1:5001" ✓ "Whisper 模型加载完成" 不要关闭这个窗口!保持服务运行。 步骤4: 测试连接 --------------------------------------- 新开一个 PowerShell/CMD 窗口: 方式1:使用 curl(推荐) curl http://localhost:5001/health 预期返回: {"status":"ok"} 方式2:使用浏览器 在浏览器访问:http://localhost:5001/health 方式3:运行测试脚本 双击运行:Windows快速测试Whisper.bat 步骤5: 测试 Java 应用连接 --------------------------------------- 1. 确保 Java 应用已启动 2. 访问:http://localhost:8080/test/whisper/check 3. 应该看到: { "code": 200, "msg": "连接成功", "data": { "available": true, "status": "运行中" } } 【常见问题】 问题1:找不到 python 命令 --------------------------------------- 解决方案: 1. 检查 Python 是否已安装 python --version 2. 如果未安装,下载安装: https://www.python.org/downloads/ 3. 安装时勾选 "Add Python to PATH" 问题2:提示找不到 flask 或 whisper 模块 --------------------------------------- 安装依赖: pip install flask pip install openai-whisper 或一起安装: pip install flask openai-whisper 问题3:端口 5001 被占用 --------------------------------------- 查找占用进程: netstat -ano | findstr :5001 结束进程: taskkill /PID <进程ID> /F 或修改 Whisper 服务端口(需同时修改 Java 配置) 问题4:Whisper 服务目录不存在 --------------------------------------- 如果没有 Whisper 服务代码,可以创建: 1. 创建目录: mkdir D:\whisper-service cd D:\whisper-service 2. 创建 app.py 文件(参考下面的示例代码) 3. 安装依赖: pip install flask openai-whisper 4. 启动服务: python app.py 【Whisper 服务示例代码】 --------------------------------------- 如果需要创建 Whisper 服务,保存以下内容为 app.py: from flask import Flask, request, jsonify import whisper import os import tempfile app = Flask(__name__) # 加载模型 print("正在加载 Whisper 模型...") model = whisper.load_model("base") print("✓ Whisper 模型加载完成") @app.route('/health', methods=['GET']) def health(): return jsonify({"status": "ok"}) @app.route('/recognize', methods=['POST']) def recognize(): try: file = request.files['file'] language = request.form.get('language', 'zh') # 保存临时文件 with tempfile.NamedTemporaryFile(delete=False, suffix='.mp3') as tmp: file.save(tmp.name) temp_path = tmp.name # 识别 result = model.transcribe(temp_path, language=language) text = result['text'] # 删除临时文件 os.remove(temp_path) return jsonify({ "code": 200, "msg": "识别成功", "data": {"text": text} }) except Exception as e: return jsonify({"code": 500, "msg": str(e)}), 500 @app.route('/evaluate', methods=['POST']) def evaluate(): try: file = request.files['file'] standard_text = request.form.get('text', '') with tempfile.NamedTemporaryFile(delete=False, suffix='.mp3') as tmp: file.save(tmp.name) temp_path = tmp.name result = model.transcribe(temp_path, language='zh') recognized_text = result['text'] os.remove(temp_path) # 简单评分 score = calculate_similarity(recognized_text, standard_text) return jsonify({ "code": 200, "msg": "评测成功", "data": { "text": recognized_text, "score": int(score * 100), "accuracy": int(score * 100), "fluency": int(score * 100), "completeness": int(score * 100), "pronunciation": int(score * 100) } }) except Exception as e: return jsonify({"code": 500, "msg": str(e)}), 500 def calculate_similarity(text1, text2): text1 = text1.replace(' ', '') text2 = text2.replace(' ', '') if len(text2) == 0: return 0 matched = sum(1 for c in text1 if c in text2) return matched / len(text2) if __name__ == '__main__': print("🚀 Whisper 服务启动中...") print("📍 地址: http://0.0.0.0:5001") print("✓ 服务就绪") app.run(host='0.0.0.0', port=5001, debug=False) --------------------------------------- 【后台运行服务】 如果需要让 Whisper 服务在后台运行: 方式1:使用 start 命令 start /b python app.py 方式2:创建 Windows 服务(推荐生产环境) 使用 NSSM (Non-Sucking Service Manager): 1. 下载 NSSM: https://nssm.cc/download 2. 安装服务: nssm install WhisperService "C:\Python39\python.exe" "D:\whisper-service\app.py" 3. 启动服务: nssm start WhisperService 方式3:使用任务计划程序 1. 打开"任务计划程序" 2. 创建基本任务 3. 触发器:系统启动时 4. 操作:启动程序 python.exe,参数:D:\whisper-service\app.py 【日志查看】 如果服务启动失败,查看错误信息: 1. 保持命令行窗口打开,查看输出 2. 或将输出重定向到文件: python app.py > whisper.log 2>&1 【获取帮助】 如果遇到问题,请提供: 1. Whisper 服务目录路径 2. 启动时的完整错误信息 3. Python 版本:python --version 4. 端口检查结果:netstat -ano | findstr :5001 ====================================