guoyu/log/诊断结果.txt
2025-12-11 23:28:07 +08:00

205 lines
5.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====================================
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 替代方案?
====================================