Files

72 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ⚡ 模型评测网站(model-eval-site
聚合展示各种大模型的**运行速度评测**(解码 / 预填充 / 首字延迟)+ **模型能力测试**模块,并支持从
[llm-speed-tester](../llm-speed-tester/) 一键把测试结果发送到**对应账号**下展示。
- 端口:**16066**
- 技术栈:Flask + SQLite + data-chart-tool(16016) 图表
## 页面
| 页面 | 说明 |
|------|------|
| `/`index.html) | 🏆 模型运行速度排行:**默认按热度显示前10**(后台可配)+ **网页顶部居中全局搜索**(选中跳详情)+ 排行内**搜索添加**速度项到本区域(可✕)+ 推理框架列 + **+对比/详情** + **运行速度对比图**(要对比模型可叉掉/清空/+对比添加,可下载PNG带水印) |
| `/capabilities.html` | 🧪 **模型能力测试模块**:按分类展示测试卡片,点击展开测试项(**内容由后台管理编辑**) |
| `/compare.html` | ⚖️ **模型对比(对比车驱动)**:默认对比前5个,有对比车则按加入顺序;**默认只对比预填充+解码**;对比项可去留;**图表可配置柱状(空心/实心)/折线(实线/虚线)+左右双轴+三色深度+X轴旋转防拥挤**;可下载PNG带水印 |
| `/model.html` | 单模型详情:按上下文长度的速度折线图 + 各账号提交明细(含硬件) |
| `/admin.html` | 🔐 **后台管理**admin/admin123,网址直达登录,前台无入口):提交管理 / 账号管理 / 能力测试管理 / **🚀速度项管理(热度·个数·配置简介可改)** / **⚙️设置(图片水印文字·排行默认条数)** |
## 后台管理(/admin.html
默认账号 `admin` / 密码 `admin123`(config.py 可改)。登录后可:
- **📥 提交管理**:分页/搜索(模型/账号/硬件)/查看详情/删除/**点击硬件标签直接修改硬件**/🎲生成演示数据
- **👥 账号管理**:新增/编辑/删除账号(删除连带其提交)
- **🧪 能力测试管理**:新增/编辑/删除能力测试模块(名称/分类/图标/说明/测试项JSON/排序/启停),前台只读展示
- **🚀 速度项管理**:每个速度项可改 **🔥热度 / 个数 / 配置简介 / 推理框架 / 备注**,可「🔄 从提交同步」自动生成;排行榜默认按热度前N个、搜索框热门5个均取自这里
- **⚙️ 设置**:**图片水印**(文字 + **5种预置风格**:右下角标注/全图斜纹/底部横条/四角标注/对角大字,默认首页网址,浅底深字/深底浅字自适应)、**排行默认条数**、**排行榜列显示配置**(是否显示首字ms/硬件/推理框架,平均解码+最佳解码是否合并,硬件+推理框架是否合并)
## 与 llm-speed-tester 联动
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`,含 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>` | 删除提交(后台) |
| 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 / capabilities
- 详细字段见 `database.py`
## 部署
```bash
./start.sh # 启动(默认 16066,PID 文件管理)
./start.sh stop # 停止
# 依赖: openclaw conda 环境 flask/requests;图表走 data-chart-tool(16016)
# Git: hz4th_coder/model-eval-site
```