v1.1.0 后台管理+能力测试+模型对比+硬件显示:颜色对比度优化;提交/账号管理移到后台(admin/admin123, session);移除前台提交/账号链接与一键同步提示;对比图默认全部+可指定模型;新增模型能力测试模块(后台编辑/前台展示);模型对比支持硬件显示+对比项可去留;提交带硬件字段(admin可改);llm-speed-tester 新增 /api/gpu 探测+发送带硬件

This commit is contained in:
2026-09-02 13:38:07 +08:00
parent 1b08c95929
commit c6eef5e67f
14 changed files with 1331 additions and 285 deletions
+36 -21
View File
@@ -1,6 +1,6 @@
# ⚡ 模型评测网站(model-eval-site
聚合展示各种大模型的**运行速度评测**(解码 / 预填充 / 首字延迟),并支持从
聚合展示各种大模型的**运行速度评测**(解码 / 预填充 / 首字延迟)+ **模型能力测试**模块,并支持从
[llm-speed-tester](../llm-speed-tester/) 一键把测试结果发送到**对应账号**下展示。
- 端口:**16066**
@@ -10,38 +10,53 @@
| 页面 | 说明 |
|------|------|
| `/`index.html) | 🏆 模型速度排行:按模型+提供商聚合所有提交,表头可排序 + 解码速度 TOP20 对比图 |
| `/model.html` | 单模型详情:按上下文长度的速度折线图 + 各账号提交明细 |
| `/submissions.html` | 📥 提交管理:分页/搜索/详情弹窗/删除 + 「🎲 生成演示数据」 |
| `/accounts.html` | 👥 账号管理:账号列表(含提交数)/ 新增 / 编辑 / 删除 |
| `/`index.html) | 🏆 模型速度排行:按模型+提供商聚合,表头可排序 + **硬件显示** + 解码速度对比图(**默认对比全部模型,可勾选指定模型**后重新生成) |
| `/capabilities.html` | 🧪 **模型能力测试模块**:按分类展示测试卡片,点击展开测试项(**内容由后台管理编辑**) |
| `/compare.html` | ⚖️ **模型对比**:默认对比全部模型,可勾选模型;**支持硬件显示**;**下方勾选可去留对比项**;可选指标/柱状/折线图 |
| `/model.html` | 单模型详情:按上下文长度的速度折线图 + 各账号提交明细(含硬件) |
| `/admin.html` | 🔐 **后台管理**admin/admin123):提交管理 / 账号管理 / 能力测试管理 |
## 后台管理(/admin.html
默认账号 `admin` / 密码 `admin123`(config.py 可改)。登录后可:
- **📥 提交管理**:分页/搜索(模型/账号/硬件)/查看详情/删除/**点击硬件标签直接修改硬件**/🎲生成演示数据
- **👥 账号管理**:新增/编辑/删除账号(删除连带其提交)
- **🧪 能力测试管理**:新增/编辑/删除能力测试模块(名称/分类/图标/说明/测试项JSON/排序/启停),前台只读展示
## 与 llm-speed-tester 联动
1. 在 llm-speed-tester 左侧「📤 评测站同步」填评测站地址(默认 `http://127.0.0.1:16066`账号名
2. 测试完成后,在测试历史行「📤 发送」,或在详情弹窗「📤 发送到评测站」
3. 结果以 **POST /api/submit** 提交,账号不存在自动创建,提交后排行榜实时更新
1. 在 llm-speed-tester 左侧「📤 评测站同步」填评测站地址(默认 `http://127.0.0.1:16066`+ 账号名 + **硬件/GPU**(可🔍自动探测)
2. 测试完成后,历史行「📤 发送」详情弹窗「📤 发送到评测站」一键提交(含硬件信息)
3. 结果以 **POST /api/submit** 提交,账号不存在自动创建,排行榜/对比实时更新
## API
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/submit` | 接收 llm-speed-tester 提交(头 `X-Token: meval16066` |
| GET | `/api/health` | 健康检查 + 统计 |
| GET | `/api/stats` | 统计卡片(模型数/提交数/账号数/采样数) |
| GET | `/api/leaderboard` | 模型速度排行(可 `sort`/`order`/`limit` |
| GET | `/api/model` | 单模型详情(`provider` + `model`数) |
| GET | `/api/submissions` | 提交列表(`page`/`page_size`/`q`/`account_id`/`model`/`provider` |
| POST | `/api/submit` | 接收 llm-speed-tester 提交(头 `X-Token: meval16066`,含 hardware |
| POST | `/api/admin/login` | 后台登录(session |
| GET | `/api/admin/session` | 检查后台登录态 |
| POST | `/api/admin/logout` | 退出后台 |
| GET | `/api/health` / `/api/stats` | 健康检查 + 统计(含能力测试数) |
| GET | `/api/leaderboard` | 模型速度排行(可 `sort`/`order`/`limit`/`models` 指定对比 |
| GET | `/api/compare` | 模型对比(`models`/`chart_metric`/`chart_type` |
| GET | `/api/model` | 单模型详情(`provider`+`model` |
| GET | `/api/submissions` | 提交列表(只读) |
| GET | `/api/submissions/<id>` | 单条提交详情 |
| DELETE | `/api/submissions/<id>` | 删除提交 |
| GET | `/api/submissions/<id>/chart` | 单条提交:上下文长度→速度折线图 PNG |
| GET/POST | `/api/accounts` | 账号列表 / 新增 |
| PUT/DELETE | `/api/accounts/<id>` | 账号 / 删账号(连带删其提交 |
| POST | `/api/seed-demo` | 🎲 生成演示评测数据(便于看排行效果 |
| POST | `/api/chart` | 图表代理(转发 data-chart-tool 16016 |
| DELETE | `/api/submissions/<id>` | 删除提交(后台) |
| PUT | `/api/submissions/<id>/hardware` | 修改提交硬件(后台) |
| GET | `/api/submissions/<id>/chart` | 单条提交:长度→速度折线图 PNG |
| GET/POST/PUT/DELETE | `/api/accounts...` | 账号管理(后台 |
| GET | `/api/capabilities` | 能力测试列表(前台只读,仅启用项 |
| GET/POST/PUT/DELETE | `/api/admin/capabilities...` | 能力测试管理(后台 |
| POST | `/api/seed-demo` | 🎲 生成演示评测数据(后台) |
| POST | `/api/seed-capabilities` | 🎲 生成演示能力测试(后台) |
| POST | `/api/chart` | 图表代理(data-chart-tool 16016 |
## 数据
- `data/model_eval.db`SQLiteaccounts / submissions
- `data/model_eval.db`SQLiteaccounts / submissions / capabilities
- 详细字段见 `database.py`
## 部署