From 685582b7e64a7ab14f4d19408a76f6dea40db1c4 Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Tue, 28 Apr 2026 00:16:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=AD=90=E7=B1=BB?= =?UTF-8?q?=E5=88=AB=E9=85=8D=E7=BD=AE=E5=92=8C=E5=85=B3=E9=94=AE=E7=89=B9?= =?UTF-8?q?=E6=80=A7=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 类别数据结构新增 subcategories 字段 - 每个子类别可定义 key_features 和 feature_labels - 前端模型页面添加子类别选择器 - 表格根据子类别动态显示关键特性列 - 后台管理支持编辑子类别配置(JSON格式) - 预设了各类别的子类别配置(对话、代码、推理、视觉等) --- data/categories.json | 247 +++++++++++++++++++++++++++++++++++++++++- templates/admin.html | 28 +++++ templates/models.html | 171 +++++++++++++++++++++++++++-- 3 files changed, 428 insertions(+), 18 deletions(-) diff --git a/data/categories.json b/data/categories.json index 5d9be86..dffd11b 100644 --- a/data/categories.json +++ b/data/categories.json @@ -5,7 +5,54 @@ "icon": "ri-robot-line", "color": "blue", "description": "大语言模型、图像模型等AI模型参数", - "order": 1 + "order": 1, + "subcategories": [ + { + "id": "chat", + "name": "对话模型", + "icon": "ri-chat-3-line", + "key_features": ["context_length", "mmlu", "input_price", "output_price"], + "feature_labels": { + "context_length": "上下文", + "mmlu": "MMLU", + "input_price": "输入价", + "output_price": "输出价" + } + }, + { + "id": "code", + "name": "代码模型", + "icon": "ri-code-line", + "key_features": ["humaneval", "context_length", "input_price"], + "feature_labels": { + "humaneval": "HumanEval", + "context_length": "上下文", + "input_price": "输入价" + } + }, + { + "id": "reasoning", + "name": "推理模型", + "icon": "ri-lightbulb-line", + "key_features": ["reasoning_capability", "mmlu", "context_length"], + "feature_labels": { + "reasoning_capability": "推理能力", + "mmlu": "MMLU", + "context_length": "上下文" + } + }, + { + "id": "vision", + "name": "视觉模型", + "icon": "ri-image-line", + "key_features": ["vision_capability", "multimodal", "context_length"], + "feature_labels": { + "vision_capability": "视觉能力", + "multimodal": "多模态", + "context_length": "上下文" + } + } + ] }, { "id": "gpus", @@ -13,7 +60,45 @@ "icon": "ri-cpu-line", "color": "green", "description": "NVIDIA、AMD等GPU显卡规格参数", - "order": 2 + "order": 2, + "subcategories": [ + { + "id": "gaming", + "name": "游戏显卡", + "icon": "ri-gamepad-line", + "key_features": ["memory_gb", "cuda_cores", "price_usd", "fp16_tflops"], + "feature_labels": { + "memory_gb": "显存", + "cuda_cores": "CUDA核心", + "price_usd": "价格", + "fp16_tflops": "FP16性能" + } + }, + { + "id": "professional", + "name": "专业显卡", + "icon": "ri-building-line", + "key_features": ["memory_gb", "tensor_cores", "memory_bandwidth_gbs", "price_usd"], + "feature_labels": { + "memory_gb": "显存", + "tensor_cores": "Tensor核心", + "memory_bandwidth_gbs": "带宽", + "price_usd": "价格" + } + }, + { + "id": "datacenter", + "name": "数据中心", + "icon": "ri-server-line", + "key_features": ["memory_gb", "tensor_cores", "memory_bandwidth_gbs", "fp16_tflops"], + "feature_labels": { + "memory_gb": "显存", + "tensor_cores": "Tensor核心", + "memory_bandwidth_gbs": "带宽", + "fp16_tflops": "FP16性能" + } + } + ] }, { "id": "cpus", @@ -21,7 +106,45 @@ "icon": "ri-cpu-line", "color": "purple", "description": "Intel、AMD等CPU处理器参数", - "order": 3 + "order": 3, + "subcategories": [ + { + "id": "desktop", + "name": "桌面CPU", + "icon": "ri-computer-line", + "key_features": ["cores", "threads", "boost_clock_ghz", "price_usd"], + "feature_labels": { + "cores": "核心", + "threads": "线程", + "boost_clock_ghz": "加速频率", + "price_usd": "价格" + } + }, + { + "id": "server", + "name": "服务器CPU", + "icon": "ri-server-line", + "key_features": ["cores", "threads", "l3_cache_mb", "tdp_watts"], + "feature_labels": { + "cores": "核心", + "threads": "线程", + "l3_cache_mb": "L3缓存", + "tdp_watts": "功耗" + } + }, + { + "id": "mobile", + "name": "移动CPU", + "icon": "ri-smartphone-line", + "key_features": ["cores", "threads", "base_clock_ghz", "tdp_watts"], + "feature_labels": { + "cores": "核心", + "threads": "线程", + "base_clock_ghz": "基础频率", + "tdp_watts": "功耗" + } + } + ] }, { "id": "phones", @@ -30,7 +153,33 @@ "color": "orange", "description": "各品牌手机参数规格", "order": 4, - "visible": false + "visible": true, + "subcategories": [ + { + "id": "flagship", + "name": "旗舰手机", + "icon": "ri-star-line", + "key_features": ["processor", "ram_gb", "storage_gb", "price"], + "feature_labels": { + "processor": "处理器", + "ram_gb": "内存", + "storage_gb": "存储", + "price": "价格" + } + }, + { + "id": "midrange", + "name": "中端手机", + "icon": "ri-price-tag-3-line", + "key_features": ["processor", "ram_gb", "battery_mah", "price"], + "feature_labels": { + "processor": "处理器", + "ram_gb": "内存", + "battery_mah": "电池", + "price": "价格" + } + } + ] }, { "id": "laptops", @@ -38,7 +187,33 @@ "icon": "ri-macbook-line", "color": "teal", "description": "笔记本电脑、台式机参数", - "order": 5 + "order": 5, + "subcategories": [ + { + "id": "gaming-laptop", + "name": "游戏笔记本", + "icon": "ri-gamepad-line", + "key_features": ["processor", "gpu", "ram_gb", "price"], + "feature_labels": { + "processor": "处理器", + "gpu": "显卡", + "ram_gb": "内存", + "price": "价格" + } + }, + { + "id": "business-laptop", + "name": "商务笔记本", + "icon": "ri-briefcase-line", + "key_features": ["processor", "ram_gb", "weight_kg", "price"], + "feature_labels": { + "processor": "处理器", + "ram_gb": "内存", + "weight_kg": "重量", + "price": "价格" + } + } + ] }, { "id": "021dc76d36be", @@ -47,6 +222,66 @@ "color": "red", "order": 6, "description": "汽车方面", - "created_at": "2026-04-09 10:09:01" + "created_at": "2026-04-09 10:09:01", + "subcategories": [ + { + "id": "sedan", + "name": "轿车", + "icon": "ri-car-line", + "key_features": ["engine", "power_kw", "price"], + "feature_labels": { + "engine": "发动机", + "power_kw": "功率", + "price": "价格" + } + }, + { + "id": "suv", + "name": "SUV", + "icon": "ri-truck-line", + "key_features": ["engine", "seats", "price"], + "feature_labels": { + "engine": "发动机", + "seats": "座位数", + "price": "价格" + } + } + ] + }, + { + "id": "71fa2b4d818f", + "name": "摄像", + "icon": "ri-camera-line", + "color": "blue", + "order": 0, + "visible": true, + "description": "相机、摄像机等", + "created_at": "2026-04-25 16:38:47", + "subcategories": [ + { + "id": "mirrorless", + "name": "无反相机", + "icon": "ri-camera-line", + "key_features": ["sensor", "megapixels", "video_resolution", "price"], + "feature_labels": { + "sensor": "传感器", + "megapixels": "像素", + "video_resolution": "视频", + "price": "价格" + } + }, + { + "id": "dslr", + "name": "单反相机", + "icon": "ri-camera-2-line", + "key_features": ["sensor", "megapixels", "lens_mount", "price"], + "feature_labels": { + "sensor": "传感器", + "megapixels": "像素", + "lens_mount": "卡口", + "price": "价格" + } + } + ] } ] \ No newline at end of file diff --git a/templates/admin.html b/templates/admin.html index cc8a32a..8992dea 100644 --- a/templates/admin.html +++ b/templates/admin.html @@ -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 `
@@ -1116,6 +1126,24 @@
+ + +
+ +
+

子类别配置示例:

+
[
+  {
+    "id": "chat",
+    "name": "对话模型",
+    "icon": "ri-chat-3-line",
+    "key_features": ["context_length", "mmlu"],
+    "feature_labels": {"context_length": "上下文", "mmlu": "MMLU"}
+  }
+]
+
+ +
`; } diff --git a/templates/models.html b/templates/models.html index 711fbfe..6660224 100644 --- a/templates/models.html +++ b/templates/models.html @@ -32,6 +32,19 @@

AI大模型参数规格一览

+ +
+
+ 子类别: +
+
+ + +
+
+
@@ -101,12 +114,38 @@