更新了模型评估页面的新建
This commit is contained in:
99
src/main.py
99
src/main.py
@@ -84,6 +84,7 @@ def init_database():
|
||||
# 模型评测表
|
||||
"""CREATE TABLE IF NOT EXISTS model_eval (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
model_name VARCHAR(255) NOT NULL,
|
||||
dataset VARCHAR(255),
|
||||
metric VARCHAR(100),
|
||||
@@ -215,12 +216,14 @@ def init_database():
|
||||
except Exception as e:
|
||||
print(f" 表 {i+1} 创建失败: {e}")
|
||||
|
||||
# 为已存在的 model_manage 表添加 purpose 列
|
||||
try:
|
||||
cursor.execute("ALTER TABLE model_manage ADD COLUMN purpose VARCHAR(50) DEFAULT 'inference'")
|
||||
print(" model_manage 表添加 purpose 列成功")
|
||||
except Exception as e:
|
||||
print(f" model_manage 表 purpose 列处理: {e}")
|
||||
# 为已存在的表添加缺失的列(静默处理,不显示重复列的提示)
|
||||
for table_col in [("model_manage", "purpose"), ("model_eval", "name")]:
|
||||
try:
|
||||
table_name, col_name = table_col
|
||||
cursor.execute(f"ALTER TABLE {table_name} ADD COLUMN {col_name} VARCHAR(255) DEFAULT ''")
|
||||
print(f" {table_name} 表添加 {col_name} 列成功")
|
||||
except Exception as e:
|
||||
pass # 列已存在时不输出任何信息
|
||||
|
||||
# 插入默认管理员用户
|
||||
cursor.execute("SELECT * FROM users WHERE username = 'admin'")
|
||||
@@ -240,13 +243,8 @@ def init_database():
|
||||
app = Flask(__name__)
|
||||
app.config['SECRET_KEY'] = CONFIG['secret_key']
|
||||
app.config['CORS_HEADERS'] = 'Content-Type'
|
||||
CORS(app, resources={
|
||||
r"/api/*": {
|
||||
"origins": "*",
|
||||
"methods": ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
|
||||
"allow_headers": ["Content-Type", "Authorization"]
|
||||
}
|
||||
}, supports_credentials=False)
|
||||
# 使用字符串形式的 origins
|
||||
CORS(app, origins="*", methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"], allow_headers=["Content-Type", "Authorization"], supports_credentials=False)
|
||||
|
||||
# 注册蓝图
|
||||
register_blueprints(app)
|
||||
@@ -434,14 +432,85 @@ def get_model_eval():
|
||||
@app.route('/api/model-eval', methods=['POST'])
|
||||
def create_model_eval():
|
||||
data = request.json
|
||||
new_id = generic_create('model_eval', data)
|
||||
|
||||
# 获取模型名称和数据集名称
|
||||
model_id = data.get('model_id')
|
||||
dataset_id = data.get('dataset_id')
|
||||
eval_dimension = data.get('eval_dimension', '')
|
||||
|
||||
# 获取模型名称
|
||||
model_name = ''
|
||||
if model_id:
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT name FROM model_manage WHERE id = %s", (model_id,))
|
||||
model_result = cursor.fetchone()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
if model_result:
|
||||
model_name = model_result['name']
|
||||
|
||||
# 获取数据集名称
|
||||
dataset_name = ''
|
||||
if dataset_id:
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT name FROM dataset_manage WHERE id = %s", (dataset_id,))
|
||||
dataset_result = cursor.fetchone()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
if dataset_result:
|
||||
dataset_name = dataset_result['name']
|
||||
|
||||
# 构建插入数据,映射到数据库字段
|
||||
insert_data = {
|
||||
'name': data.get('name', ''),
|
||||
'model_name': model_name,
|
||||
'dataset': dataset_name,
|
||||
'metric': eval_dimension,
|
||||
'status': 'pending'
|
||||
}
|
||||
|
||||
new_id = generic_create('model_eval', insert_data)
|
||||
return jsonify({'code': 0, 'message': '创建成功', 'id': new_id})
|
||||
|
||||
|
||||
@app.route('/api/model-eval/<int:id>', methods=['PUT'])
|
||||
def update_model_eval(id):
|
||||
data = request.json
|
||||
generic_update('model_eval', id, data)
|
||||
|
||||
# 构建更新数据,映射到数据库字段
|
||||
update_data = {}
|
||||
|
||||
if 'name' in data:
|
||||
update_data['name'] = data['name']
|
||||
|
||||
if 'model_id' in data:
|
||||
model_id = data['model_id']
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT name FROM model_manage WHERE id = %s", (model_id,))
|
||||
model_result = cursor.fetchone()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
update_data['model_name'] = model_result['name'] if model_result else ''
|
||||
|
||||
if 'dataset_id' in data:
|
||||
dataset_id = data['dataset_id']
|
||||
conn = get_db_connection()
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("SELECT name FROM dataset_manage WHERE id = %s", (dataset_id,))
|
||||
dataset_result = cursor.fetchone()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
update_data['dataset'] = dataset_result['name'] if dataset_result else ''
|
||||
|
||||
if 'eval_dimension' in data:
|
||||
update_data['metric'] = data['eval_dimension']
|
||||
|
||||
if update_data:
|
||||
generic_update('model_eval', id, update_data)
|
||||
|
||||
return jsonify({'code': 0, 'message': '更新成功'})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user