1. 修改了评测页面的关联模型和数据集的bug
This commit is contained in:
15002
datasets/1768921889355_5_1768813522890_4_2222.json
Normal file
15002
datasets/1768921889355_5_1768813522890_4_2222.json
Normal file
File diff suppressed because one or more lines are too long
26
src/main.py
26
src/main.py
@@ -434,6 +434,32 @@ def delete_model_deploy(id):
|
|||||||
return jsonify({'code': 0, 'message': '删除成功'})
|
return jsonify({'code': 0, 'message': '删除成功'})
|
||||||
|
|
||||||
|
|
||||||
|
# ============ 模型管理接口 ============
|
||||||
|
@app.route('/api/model-manage', methods=['GET'])
|
||||||
|
def get_model_manage():
|
||||||
|
return jsonify({'code': 0, 'data': generic_get_all('model_manage')})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/api/model-manage', methods=['POST'])
|
||||||
|
def create_model_manage():
|
||||||
|
data = request.json
|
||||||
|
new_id = generic_create('model_manage', data)
|
||||||
|
return jsonify({'code': 0, 'message': '创建成功', 'id': new_id})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/api/model-manage/<int:id>', methods=['PUT'])
|
||||||
|
def update_model_manage(id):
|
||||||
|
data = request.json
|
||||||
|
generic_update('model_manage', id, data)
|
||||||
|
return jsonify({'code': 0, 'message': '更新成功'})
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/api/model-manage/<int:id>', methods=['DELETE'])
|
||||||
|
def delete_model_manage(id):
|
||||||
|
generic_delete('model_manage', id)
|
||||||
|
return jsonify({'code': 0, 'message': '删除成功'})
|
||||||
|
|
||||||
|
|
||||||
# ============ 模型对比接口 ============
|
# ============ 模型对比接口 ============
|
||||||
@app.route('/api/model-compare', methods=['GET'])
|
@app.route('/api/model-compare', methods=['GET'])
|
||||||
def get_model_compare():
|
def get_model_compare():
|
||||||
|
|||||||
@@ -363,6 +363,7 @@
|
|||||||
const textMap = {
|
const textMap = {
|
||||||
'train': '训练数据',
|
'train': '训练数据',
|
||||||
'test': '测试数据',
|
'test': '测试数据',
|
||||||
|
'eval': '评测数据',
|
||||||
'val': '验证数据',
|
'val': '验证数据',
|
||||||
'other': '其他'
|
'other': '其他'
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -227,18 +227,18 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="flex items-center space-x-6">
|
<div class="flex items-center space-x-6">
|
||||||
<label class="flex items-center cursor-pointer">
|
<label class="flex items-center cursor-pointer">
|
||||||
<input type="radio" name="data_source" value="dataset" class="mr-2" onchange="toggleDataSource('dataset')">
|
<input type="radio" name="data_source" value="dataset" checked class="mr-2" onchange="toggleDataSource('dataset')">
|
||||||
<span class="text-sm text-gray-700">评测数据集</span>
|
<span class="text-sm text-gray-700">评测数据集</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="flex items-center cursor-pointer">
|
<label class="flex items-center cursor-pointer">
|
||||||
<input type="radio" name="data_source" value="inference" checked class="mr-2" onchange="toggleDataSource('inference')">
|
<input type="radio" name="data_source" value="inference" class="mr-2" onchange="toggleDataSource('inference')">
|
||||||
<span class="text-sm text-gray-700">推理结果集</span>
|
<span class="text-sm text-gray-700">推理结果集</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 推理结果集上传 -->
|
<!-- 推理结果集上传 -->
|
||||||
<div id="inferenceUpload" class="border-2 border-dashed border-gray-200 rounded-lg p-8 text-center hover:border-primary/50 transition-colors cursor-pointer">
|
<div id="inferenceUpload" class="hidden border-2 border-dashed border-gray-200 rounded-lg p-8 text-center hover:border-primary/50 transition-colors cursor-pointer">
|
||||||
<i class="fa fa-cloud-upload text-gray-400 text-xl mb-2"></i>
|
<i class="fa fa-cloud-upload text-gray-400 text-xl mb-2"></i>
|
||||||
<p class="text-gray-700 text-sm">点击或拖拽上传推理结果集</p>
|
<p class="text-gray-700 text-sm">点击或拖拽上传推理结果集</p>
|
||||||
<p class="text-xs text-gray-400 mt-1">支持 .xls .xlsx 格式,不超过2MB</p>
|
<p class="text-xs text-gray-400 mt-1">支持 .xls .xlsx 格式,不超过2MB</p>
|
||||||
@@ -248,13 +248,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 评测数据集选择 -->
|
<!-- 评测数据集选择 -->
|
||||||
<div id="datasetSelect" class="hidden mb-6">
|
<div id="datasetSelect" class="mb-6">
|
||||||
<h3 class="text-sm font-semibold text-gray-700 mb-4 pb-2 border-b border-gray-100">评测数据集</h3>
|
<h3 class="text-sm font-semibold text-gray-700 mb-4 pb-2 border-b border-gray-100">评测数据集</h3>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<select name="dataset_id" class="form-select flex-1 max-w-md">
|
<select name="dataset_id" id="testDatasetSelect" class="form-select flex-1 max-w-md">
|
||||||
<option value="">请选择评测数据集</option>
|
<option value="">请选择评测数据集</option>
|
||||||
</select>
|
</select>
|
||||||
<button type="button" class="ml-2 text-primary text-sm flex items-center hover:text-primary/80">
|
<button type="button" class="ml-2 text-primary text-sm flex items-center hover:text-primary/80" onclick="loadTestDatasets()">
|
||||||
<i class="fa fa-refresh"></i>
|
<i class="fa fa-refresh"></i>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="ml-3 bg-white border border-primary text-primary rounded px-3 py-1.5 text-sm hover:bg-primary/5" onclick="window.location.href='dataset-create.html'">
|
<button type="button" class="ml-3 bg-white border border-primary text-primary rounded px-3 py-1.5 text-sm hover:bg-primary/5" onclick="window.location.href='dataset-create.html'">
|
||||||
@@ -337,9 +337,15 @@
|
|||||||
// 初始化评测方式样式
|
// 初始化评测方式样式
|
||||||
updateEvalTypeStyle('custom');
|
updateEvalTypeStyle('custom');
|
||||||
|
|
||||||
|
// 初始化数据来源显示
|
||||||
|
toggleDataSource('dataset');
|
||||||
|
|
||||||
// 加载模型列表
|
// 加载模型列表
|
||||||
loadModels();
|
loadModels();
|
||||||
|
|
||||||
|
// 加载评测数据集
|
||||||
|
loadTestDatasets();
|
||||||
|
|
||||||
// 设置侧边栏当前页高亮
|
// 设置侧边栏当前页高亮
|
||||||
const currentPage = 'model-eval';
|
const currentPage = 'model-eval';
|
||||||
document.querySelectorAll('.nav-link').forEach(link => {
|
document.querySelectorAll('.nav-link').forEach(link => {
|
||||||
@@ -419,7 +425,7 @@
|
|||||||
// 加载模型列表
|
// 加载模型列表
|
||||||
async function loadModels() {
|
async function loadModels() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`${API_BASE}/my-models`);
|
const response = await fetch(`${API_BASE}/model-manage`);
|
||||||
const result = await response.json();
|
const result = await response.json();
|
||||||
if (result.code === 0) {
|
if (result.code === 0) {
|
||||||
const select = document.getElementById('modelSelect');
|
const select = document.getElementById('modelSelect');
|
||||||
@@ -431,6 +437,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加载评测数据集(type="eval")
|
||||||
|
async function loadTestDatasets() {
|
||||||
|
try {
|
||||||
|
const response = await fetch(`${API_BASE}/dataset-manage`);
|
||||||
|
const result = await response.json();
|
||||||
|
if (result.code === 0) {
|
||||||
|
// 筛选类型为 eval 的数据集
|
||||||
|
const evalDatasets = (result.data || []).filter(d => d.type === 'eval');
|
||||||
|
const select = document.getElementById('testDatasetSelect');
|
||||||
|
select.innerHTML = '<option value="">请选择评测数据集</option>' +
|
||||||
|
evalDatasets.map(d => `<option value="${d.id}">${d.name}</option>`).join('');
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载评测数据集失败:', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 提交表单
|
// 提交表单
|
||||||
async function submitForm() {
|
async function submitForm() {
|
||||||
const form = document.getElementById('evalForm');
|
const form = document.getElementById('evalForm');
|
||||||
|
|||||||
Reference in New Issue
Block a user