feature: add data-evaluation

* feature: add evaluation task management function

* feature: add evaluation task detail page

* fix: delete duplicate definition for table t_model_config

* refactor: rename package synthesis to ratio

* refactor: add eval file table and  refactor related code

* fix: calling large models in parallel during evaluation
This commit is contained in:
hefanli
2025-12-04 09:23:54 +08:00
committed by GitHub
parent 265e284fb8
commit 1d19cd3a62
52 changed files with 2882 additions and 1244 deletions

View File

@@ -0,0 +1,67 @@
import { formatDate } from "@/utils/unit";
import { BarChart3 } from "lucide-react";
import { EvaluationStatus, EvaluationTask } from "@/pages/DataEvaluation/evaluation.model.ts";
export const evalTaskStatusMap: Record<
string,
{
value: EvaluationStatus;
label: string;
color: string;
}
> = {
[EvaluationStatus.PENDING]: {
value: EvaluationStatus.PENDING,
label: "等待中",
color: "gray",
},
[EvaluationStatus.RUNNING]: {
value: EvaluationStatus.RUNNING,
label: "运行中",
color: "blue",
},
[EvaluationStatus.COMPLETED]: {
value: EvaluationStatus.COMPLETED,
label: "已完成",
color: "green",
},
[EvaluationStatus.FAILED]: {
value: EvaluationStatus.FAILED,
label: "失败",
color: "red",
},
[EvaluationStatus.PAUSED]: {
value: EvaluationStatus.PAUSED,
label: "已暂停",
color: "orange",
},
};
export function mapEvaluationTask(task: Partial<EvaluationTask>): EvaluationTask {
return {
...task,
status: evalTaskStatusMap[task.status || EvaluationStatus.PENDING],
createdAt: formatDate(task.createdAt),
updatedAt: formatDate(task.updatedAt),
description: task.description,
icon: <BarChart3 />,
iconColor: task.ratio_method === "DATASET" ? "bg-blue-100" : "bg-green-100",
statistics: [
{
label: "任务类型",
icon: <BarChart3 className="w-4 h-4 text-gray-500" />,
value: (task.taskType ?? 0).toLocaleString(),
},
{
label: "评估方式",
icon: <BarChart3 className="w-4 h-4 text-gray-500" />,
value: (task.evalMethod ?? 0).toLocaleString(),
},
{
label: "数据源",
icon: <BarChart3 className="w-4 h-4 text-gray-500" />,
value: (task.sourceName ?? 0).toLocaleString(),
},
],
};
}