01fish-llm-radar
用 7 个客观 benchmark(GSM8K / MATH / MMLU / MMLU-Pro / C-Eval / IFEval / HumanEval)快速评测任意 OpenAI 兼容 API 的大模型。支持 DeepSeek 官方 / OpenRouter / 硅基流动 / 火山引擎 / 自部署 vLLM,一键多模型横评 + 单模型深度 profile。
ソース情報
- リポジトリ
- OrangeViolin/01fish-llm-radar
- ソースの最終更新活動
- 2026年4月24日 21:17
- 検出された SKILL.md の言語
- 中国語
- スター
- 0
- フォーク
- 1
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- 01fish-llm-radar
- title
- LLM 能力雷达(基于北大 One-Eval 口径)
- description
- 用 7 个客观 benchmark(GSM8K / MATH / MMLU / MMLU-Pro / C-Eval / IFEval / HumanEval)快速评测任意 OpenAI 兼容 API 的大模型。支持 DeepSeek 官方 / OpenRouter / 硅基流动 / 火山引擎 / 自部署 vLLM,一键多模型横评 + 单模型深度 profile。
# 01fish-llm-radar
**定位**:独立开发者 / 创业者的**模型选型初筛工具**。30 分钟内把 20 个候选模型压缩到 5 个,再拿你的真实业务场景去复测那 5 个。
评测框架参照北大 [OpenDCAI/One-Eval](https://github.com/OpenDCAI/One-Eval) 的 `bench_gallery.json` 和 `bench_config.json` 配置选 benchmark,runner / scorer 自己写(One-Eval 是 agentic 评测框架,不适合纯跑分场景)。
---
## 触发词
| 触发词 | 场景 |
|--------|------|
| `/llm-radar <模型>` | 单模型完整评测(7 bench × 50 题) |
| `/llm-radar <模型A>,<模型B>` | 多模型横评 |
| `/llm-radar compare A vs B` | 两模型直接对决,出差异报告 |
| `/llm-radar --bench math,mmlu-pro <模型>` | 指定 bench 跑 |
| `/llm-radar --custom <endpoint> <model-name>` | 评测自部署 vLLM / Ollama endpoint |
| `/llm-radar report` | 扫描已有 summary 重新出报告 |
| "评测模型 xxx" / "跑 benchmark xxx" / "横评 xxx" | 自然语言触发 |
---
## 支持的评测维度(7 个 bench)
| # | Benchmark | 样本 | 考核能力 | 数据源 |
|---|-----------|------|---------|--------|
| 1 | GSM8K | 100 | 小学数学应用题(多步算术推理) | openai/gsm8k |
| 2 | MATH | 50 | 竞赛级数学题(AMC / AIME 风格) | HuggingFaceH4/MATH-500 |
| 3 | MMLU-数学 | 100 | 大学数学选择题 | cais/mmlu 数学 5 子集 |
| 4 | MMLU-Pro | 50 | 高阶知识(10 选 1,最强区分度) | TIGER-Lab/MMLU-Pro |
| 5 | C-Eval | 50 | 中文学科(52 科目均匀抽样) | ceval/ceval-exam |
| 6 | IFEval | 50 | 指令遵循(程序化规则验证) | google/IFEval |
| 7 | HumanEval | 50 | 代码生成 pass@1(沙箱执行) | openai_humaneval |
详细介绍见 `references/bench-gallery.md`。
---
## 快速开始(3 步)
### 1. 配置 API Key
复制 `.env.example` 到 `.env`,填至少一个 provider 的 key:
```bash
# DeepSeek 官方(仅支持 deepseek-v4-pro / deepseek-v4-flash)
DEEPSEEK_API_KEY=sk-...
# OpenRouter(推荐,一个 key 覆盖 100+ 模型)
OPENROUTER_API_KEY=sk-or-v1-...
# 硅基流动(可选,补充国内模型)
SILICONFLOW_API_KEY=sk-...
# 火山引擎(可选,用于字节 Doubao-Seed-2.0-Pro)
VOLCES_API_KEY=...
```
### 2. 安装依赖
```bash
cd scripts/
python3 -m venv .venv && source .venv/bin/activate
pip install openai datasets python-dotenv tqdm
```
### 3. 跑评测
```bash
# 单模型跑所有 7 个 bench(50 题)
python runner.py --model deepseek-v4-flash --bench gsm8k --n 50
# 多模型横评(用 orchestrator)
# 编辑 orchestrator.py 的 MODELS 列表,然后:
python orchestrator.py
# 生成对比报告
python compare.py
# 深度分析(成本 / 性价比 / 思考效率 / 响应速度)
python analyze.py
```
---
## 核心文件
```
01fish-llm-radar/
├── SKILL.md # 本文档
├── README.md # GitHub 开源说明(面向外部用户)
├── scripts/
│ ├── runner.py # 主评测脚本(单 model × 单 bench)
│ ├── benches.py # 8 个 bench 的 loader + prompt + scorer
│ ├── orchestrator.py # 多模型并行跑
│ ├── compare.py # 生成对比报告(均分 + 矩阵 + 单项榜单)
│ └── analyze.py # 深度分析(成本/思考效率/速度/稳定性)
├── references/
│ ├── SETUP.md # Key 获取和配置详细指南
│ ├── bench-gallery.md # 7 个 benchmark 的深度介绍
│ └── providers.md # 各 provider 配置(OR allowlist 等)
└── .env.example # Key 模板
```
---
## 产出物
每次跑完评测,在 `results/` 目录生成:
```
results/
├── report.md # 最终对比报告(含 5 个反直觉 + 单项榜单 + 性价比)
└── raw/
├── <bench>-<model-slug>.jsonl # 每题的 prompt / 输出 / reasoning / token / 耗时
└── <bench>-<model-slug>.summary.json # 汇总(accuracy / tokens / 耗时)
```
---
## Provider 路由规则
基于 `resolve_provider()` 函数:
| 模型前缀 | 走哪个 provider | 说明 |
|---------|---------------|------|
| `deepseek-v4-pro` / `deepseek-v4-flash` | DeepSeek 官方 API | 最便宜 |
| `xiaomi/*` | OpenRouter + `provider.only=["xiaomi"]` | |
| `qwen/*` | OpenRouter + `provider.only=["qwen"]` | 需 OR allowlist 开启 |
| `moonshotai/*` | OpenRouter + `provider.only=["moonshotai"]` | |
| `z-ai/*` | OpenRouter + `provider.only=["z-ai"]` | |
| `minimax/*` | OpenRouter + `provider.only=["minimax"]` | |
| `stepfun/*` | OpenRouter + `provider.only=["stepfun"]` | |
| `bytedance-seed/*` | OpenRouter + `provider.only=["seed"]` | 注意 provider slug 不同 |
| `tencent/*` | OpenRouter(不加 filter,走默认) | 目前走 siliconflow |
| 其他 | OpenRouter 不加 filter | |
扩展新 provider:编辑 `runner.py` 的 `resolve_provider()` 函数。
---
## 核心设计原则
1. **客观打分 only**:所有 7 个 bench 都是程序化打分,不用 LLM-as-judge(避免主观偏差)
2. **Thinking 模式默认**:适配 2026 年主流模型都带 reasoning 的现状,`max_tokens=8192`
3. **样本 50-100**:追求快速反馈而非统计严谨(±3-5% 抖动是可接受的选型信号)
4. **全透明原始数据**:每道题的 prompt / 输出 / 对错都保存 jsonl,可追溯
---
## 故障处理
| 症状 | 处理 |
|------|------|
| OpenRouter 429 限流 | 降低 `--concurrency`,或换 provider |
| provider "No allowed providers" | 去 [OR 设置](https://openrouter.ai/settings/preferences) 把对应 provider 加 allowlist |
| HF 数据集 gated error | GPQA 等需 HF token,跳过或申请 |
| 某模型最后几题卡死 | 已在 orchestrator 里自动跳过,看 summary 的 `partial: true` 字段 |
| HumanEval 代码有副作用 | 默认 subprocess 执行 15s timeout,必要时可改 Docker 沙箱 |
---
## 参考资料
- 北大 One-Eval(上游 benchmark 配置来源):https://github.com/OpenDCAI/One-Eval
- 本 skill GitHub:https://github.com/OrangeViolin/01fish-llm-radar
---
## 诚实声明
本 skill **不是严格的学术 benchmark**,定位为独立开发者 / 创业者的选型初筛工具。关键差异:
- ❌ 单次运行,没有多 seed 平均
- ❌ 样本只有 50-100 题
- ❌ 未覆盖长文本 / Agent / 创意写作 / 多模态场景
- ✅ 客观打分、透明原始数据、多维度交叉验证
- ✅ 能在 30 分钟内筛掉 70% 的候选模型
**真正选模型,永远以"你自己业务场景里跑一批真实数据"为准**。本 skill 只是帮你节省初筛那一步。
GitHubで見る