feat: 支持子类别配置和关键特性显示
- 类别数据结构新增 subcategories 字段 - 每个子类别可定义 key_features 和 feature_labels - 前端模型页面添加子类别选择器 - 表格根据子类别动态显示关键特性列 - 后台管理支持编辑子类别配置(JSON格式) - 预设了各类别的子类别配置(对话、代码、推理、视觉等)
This commit is contained in:
@@ -922,6 +922,13 @@
|
||||
else if (key === 'images') {
|
||||
try { data[key] = JSON.parse(value); } catch { data[key] = []; }
|
||||
}
|
||||
else if (key === 'subcategories') {
|
||||
// 解析子类别JSON
|
||||
try { data[key] = JSON.parse(value); } catch {
|
||||
alert('子类别JSON格式错误,请检查格式');
|
||||
return;
|
||||
}
|
||||
}
|
||||
else data[key] = value;
|
||||
}
|
||||
});
|
||||
@@ -1096,6 +1103,9 @@
|
||||
|
||||
// 表单模板
|
||||
function getCategoryForm(data = {}) {
|
||||
const subcategories = data.subcategories || [];
|
||||
const subcategoriesJson = JSON.stringify(subcategories, null, 2);
|
||||
|
||||
return `<form id="itemForm" class="space-y-4">
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<div><label class="text-sm text-gray-600 mb-1 block">ID *</label><input type="text" name="id" value="${data.id || ''}" ${data.id ? 'readonly' : ''} required class="w-full px-3 py-2 border rounded-lg ${data.id ? 'bg-gray-100' : ''}"></div>
|
||||
@@ -1116,6 +1126,24 @@
|
||||
</select></div>
|
||||
</div>
|
||||
<div><label class="text-sm text-gray-600 mb-1 block">描述</label><textarea name="description" rows="2" class="w-full px-3 py-2 border rounded-lg">${data.description || ''}</textarea></div>
|
||||
|
||||
<!-- 子类别配置 -->
|
||||
<div class="border-t pt-4">
|
||||
<label class="text-sm text-gray-600 mb-2 block"><i class="ri-folder-line mr-1"></i>子类别配置(JSON格式)</label>
|
||||
<div class="bg-blue-50 rounded-lg p-3 mb-2 text-xs text-blue-700">
|
||||
<p class="mb-2">子类别配置示例:</p>
|
||||
<pre class="bg-blue-100 p-2 rounded overflow-x-auto">[
|
||||
{
|
||||
"id": "chat",
|
||||
"name": "对话模型",
|
||||
"icon": "ri-chat-3-line",
|
||||
"key_features": ["context_length", "mmlu"],
|
||||
"feature_labels": {"context_length": "上下文", "mmlu": "MMLU"}
|
||||
}
|
||||
]</pre>
|
||||
</div>
|
||||
<textarea name="subcategories" rows="8" class="w-full px-3 py-2 border rounded-lg font-mono text-sm" placeholder='[]'>${subcategoriesJson}</textarea>
|
||||
</div>
|
||||
</form>`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user