1. main.html 页面修改,拆解功能
This commit is contained in:
@@ -345,7 +345,9 @@
|
||||
type: 'LLM',
|
||||
source: 'trained',
|
||||
model_path: model.path,
|
||||
train_method: method.name
|
||||
train_method: method.name,
|
||||
merged: model.merged, // 是否已合并
|
||||
merging: model.merging // 是否正在合并
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -402,10 +404,15 @@
|
||||
|
||||
// 已训练模型区域
|
||||
if (trainedModels.length > 0) {
|
||||
// 统计已合并和未合并的数量
|
||||
const mergedCount = trainedModels.filter(m => m.merged).length;
|
||||
html += `
|
||||
<div class="border-b border-gray-200">
|
||||
<div class="px-4 py-2 bg-green-50 text-xs font-medium text-green-700 flex items-center">
|
||||
<i class="fa fa-check-circle mr-1"></i> 已训练模型 (${trainedModels.length})
|
||||
<div class="px-4 py-2 bg-green-50 text-xs font-medium text-green-700 flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<i class="fa fa-check-circle mr-1"></i> 已训练模型 (${trainedModels.length})
|
||||
</div>
|
||||
<span class="text-orange-600">${mergedCount > 0 ? `${mergedCount}个已合并可选择` : '需合并后才可选择'}</span>
|
||||
</div>
|
||||
<div class="divide-y divide-gray-100">
|
||||
`;
|
||||
@@ -420,7 +427,9 @@
|
||||
// 渲染单个模型卡片
|
||||
function renderModelCard(model) {
|
||||
const isSelected = selectedModels.has(model.id);
|
||||
const isDisabled = !isSelected && selectedModels.size >= 4;
|
||||
// 未合并的已训练模型不可选择
|
||||
const isTrainedNotMerged = model.source === 'trained' && !model.merged;
|
||||
const isDisabled = !isSelected && (selectedModels.size >= 4 || isTrainedNotMerged);
|
||||
const typeText = {
|
||||
'LLM': '大语言模型',
|
||||
'CV': '计算机视觉',
|
||||
@@ -430,19 +439,24 @@
|
||||
}[model.type] || model.type || '其他';
|
||||
// 处理字符串类型的ID
|
||||
const modelId = typeof model.id === 'string' ? `'${model.id.replace(/'/g, "\\'")}'` : model.id;
|
||||
// 未合并提示文字
|
||||
const unmergedTip = isTrainedNotMerged ? '请先合并权重后再选择' : '';
|
||||
|
||||
return `
|
||||
<div class="model-card border-b border-gray-100 last:border-b-0 p-4 cursor-pointer ${isSelected ? 'selected bg-blue-50/50' : ''} ${isDisabled ? 'disabled opacity-50' : ''} hover:bg-gray-50 transition-colors"
|
||||
onclick="toggleModel(${modelId})">
|
||||
onclick="${isTrainedNotMerged ? `showMessage('提示', '该模型未合并权重,无法参与对比。请先在模型管理中合并权重。', 'warning')` : `toggleModel(${modelId})`}"
|
||||
title="${unmergedTip}">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center flex-1 min-w-0">
|
||||
<div class="w-5 h-5 rounded-full border-2 ${isSelected ? 'border-primary bg-primary' : 'border-gray-300'} flex items-center justify-center mr-3 flex-shrink-0">
|
||||
<div class="w-5 h-5 rounded-full border-2 ${isSelected ? 'border-primary bg-primary' : isTrainedNotMerged ? 'border-gray-300 bg-gray-200' : 'border-gray-300'} flex items-center justify-center mr-3 flex-shrink-0">
|
||||
${isSelected ? '<i class="fa fa-check text-white text-xs"></i>' : ''}
|
||||
</div>
|
||||
<div class="min-w-0">
|
||||
<div class="flex items-center mb-1">
|
||||
<span class="font-medium text-gray-800 truncate">${model.name}</span>
|
||||
<span class="ml-2 px-2 py-0.5 bg-blue-100 text-blue-700 text-xs rounded flex-shrink-0">${typeText}</span>
|
||||
${isTrainedNotMerged ? '<span class="ml-2 px-2 py-0.5 bg-orange-100 text-orange-700 text-xs rounded flex-shrink-0"><i class="fa fa-lock mr-1"></i>未合并</span>' : ''}
|
||||
${model.source === 'trained' && model.merged ? '<span class="ml-2 px-2 py-0.5 bg-green-100 text-green-700 text-xs rounded flex-shrink-0"><i class="fa fa-check-circle mr-1"></i>已合并</span>' : ''}
|
||||
</div>
|
||||
<p class="text-sm text-gray-500 truncate">${model.description || '暂无描述'}</p>
|
||||
</div>
|
||||
@@ -519,10 +533,15 @@
|
||||
|
||||
// 已训练模型区域
|
||||
if (trainedModels.length > 0) {
|
||||
// 统计已合并和未合并的数量
|
||||
const mergedCount = trainedModels.filter(m => m.merged).length;
|
||||
html += `
|
||||
<div class="border-b border-gray-200">
|
||||
<div class="px-4 py-2 bg-green-50 text-xs font-medium text-green-700 flex items-center">
|
||||
<i class="fa fa-check-circle mr-1"></i> 已训练模型 (${trainedModels.length})
|
||||
<div class="px-4 py-2 bg-green-50 text-xs font-medium text-green-700 flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<i class="fa fa-check-circle mr-1"></i> 已训练模型 (${trainedModels.length})
|
||||
</div>
|
||||
<span class="text-orange-600">${mergedCount > 0 ? `${mergedCount}个已合并可选择` : '需合并后才可选择'}</span>
|
||||
</div>
|
||||
<div class="divide-y divide-gray-100">
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user