94 lines
3.0 KiB
Python
94 lines
3.0 KiB
Python
#!/usr/bin/env python
|
|
"""
|
|
全新的API服务器进程来测试修复
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
|
|
# 确保在server目录下运行
|
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
server_dir = os.path.join(current_dir, 'server')
|
|
os.chdir(server_dir)
|
|
sys.path.insert(0, server_dir)
|
|
|
|
print(f"工作目录: {os.getcwd()}")
|
|
|
|
# 导入Flask和必要模块
|
|
from flask import Flask, jsonify, request
|
|
from flask_cors import CORS
|
|
|
|
app = Flask(__name__)
|
|
CORS(app)
|
|
|
|
@app.route('/api/models', methods=['GET'])
|
|
def test_models():
|
|
"""测试模型列表端点"""
|
|
try:
|
|
print("=== 测试模型端点 ===")
|
|
|
|
# 导入模型管理器
|
|
from utils.model_manager import model_manager
|
|
|
|
print(f"模型目录: {model_manager.model_dir}")
|
|
print(f"目录存在: {os.path.exists(model_manager.model_dir)}")
|
|
|
|
if os.path.exists(model_manager.model_dir):
|
|
files = os.listdir(model_manager.model_dir)
|
|
print(f"目录文件: {files}")
|
|
|
|
# 获取模型列表
|
|
models = model_manager.list_models()
|
|
print(f"找到模型: {len(models)} 个")
|
|
|
|
# 格式化数据
|
|
formatted_models = []
|
|
for model in models:
|
|
formatted_model = {
|
|
'model_id': model.get('filename', '').replace('.pth', ''),
|
|
'product_id': model.get('product_id', ''),
|
|
'product_name': model.get('product_name', model.get('product_id', '')),
|
|
'model_type': model.get('model_type', ''),
|
|
'training_mode': model.get('training_mode', 'product'),
|
|
'store_id': model.get('store_id'),
|
|
'aggregation_method': model.get('aggregation_method'),
|
|
'version': model.get('version', 'v1'),
|
|
'created_at': model.get('created_at', ''),
|
|
'file_size': model.get('file_size', 0),
|
|
'metrics': model.get('metrics', {}),
|
|
'config': model.get('config', {})
|
|
}
|
|
formatted_models.append(formatted_model)
|
|
|
|
print(f"返回 {len(formatted_models)} 个模型")
|
|
|
|
return jsonify({
|
|
"status": "success",
|
|
"data": formatted_models,
|
|
"total": len(formatted_models)
|
|
})
|
|
|
|
except Exception as e:
|
|
print(f"错误: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return jsonify({
|
|
"status": "error",
|
|
"message": str(e),
|
|
"data": []
|
|
})
|
|
|
|
if __name__ == "__main__":
|
|
print("启动测试API服务器...")
|
|
# 先测试一下模型管理器
|
|
try:
|
|
from utils.model_manager import model_manager
|
|
print(f"模型管理器初始化成功,目录: {model_manager.model_dir}")
|
|
models = model_manager.list_models()
|
|
print(f"测试:找到 {len(models)} 个模型")
|
|
except Exception as e:
|
|
print(f"模型管理器测试失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
app.run(host='0.0.0.0', port=5001, debug=True) |