guoyu/log/诊断结果.txt

205 lines
5.1 KiB
Plaintext
Raw Normal View History

2025-12-11 23:28:07 +08:00
====================================
Whisper 服务连接诊断结果
诊断时间: 2025-12-11 18:53
====================================
【诊断结果】
❌ Whisper 服务未正常运行
【详细检测】
1. 端口检测: ❌ 失败
- 端口 5001 未被监听
- 无进程占用该端口
2. Python 进程: ❌ 未找到
- 系统中没有运行的 Python 进程
- Whisper 服务可能未启动
3. 连接测试: ❌ 失败
- TCP 连接到 localhost:5001 失败
- 连接被拒绝(端口未开放)
【问题根源】
Whisper Python 服务没有启动!
【解决方案】
方案1启动 Whisper 服务(推荐)
---------------------------------------
1. 找到 Whisper 服务目录
例如: D:\whisper-service\ 或 /opt/whisper-service/
2. 进入目录并启动
Windows:
cd D:\whisper-service
python app.py
Linux:
cd /opt/whisper-service
python3 app.py
3. 确认启动成功
- 看到日志: "Running on http://0.0.0.0:5001"
- 或访问: http://localhost:5001/health
4. 重新测试连接
运行: powershell -File test_whisper_connection.ps1
或访问: http://localhost:8080/test/whisper/check
方案2如果没有 Whisper 服务代码
---------------------------------------
需要先部署 Whisper 服务。创建简单的 Flask 服务:
1. 安装依赖
pip install flask openai-whisper
2. 创建 app.py
参考下面的"Whisper 服务示例代码"
3. 启动服务
python app.py
方案3修改 Java 配置使用百度 API临时方案
---------------------------------------
如果暂时无法启动 Whisper可以降级使用百度 API
1. 在 application.yml 中配置百度 API 密钥
2. 重启 Java 应用
3. 系统会自动降级使用百度语音识别
【Whisper 服务示例代码】
---------------------------------------
创建文件: whisper-service/app.py
```python
from flask import Flask, request, jsonify
import whisper
import os
app = Flask(__name__)
# 加载 Whisper 模型(首次运行会下载,需要网络)
print("正在加载 Whisper 模型...")
model = whisper.load_model("base") # 可选: tiny, base, small, medium, large
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')
# 保存临时文件
temp_path = f"/tmp/{file.filename}"
file.save(temp_path)
# 识别
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', '')
# 保存临时文件
temp_path = f"/tmp/{file.filename}"
file.save(temp_path)
# 识别
result = model.transcribe(temp_path, language='zh')
recognized_text = result['text']
# 删除临时文件
os.remove(temp_path)
# 简单评分(基于相似度)
similarity = calculate_similarity(recognized_text, standard_text)
score = int(similarity * 100)
return jsonify({
"code": 200,
"msg": "评测成功",
"data": {
"text": recognized_text,
"score": score,
"accuracy": score,
"fluency": score,
"completeness": score,
"pronunciation": score
}
})
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)
```
启动命令:
cd whisper-service
python app.py
【后续步骤】
1. 启动 Whisper 服务后,运行测试:
powershell -File test_whisper_connection.ps1
2. 确认连接成功后,重启 Java 应用
3. 使用测试接口验证:
访问: http://localhost:8080/test/whisper/check
4. 在 APP 中测试语音识别功能
【需要帮助?】
请提供以下信息:
1. Whisper 服务是否已部署?在哪个目录?
2. 是否有 Python 环境?版本是多少?
3. 服务器操作系统Windows 还是 Linux
4. 是否希望使用百度 API 替代方案?
====================================