4.4 KiB
4.4 KiB
EvalScope API 测试指南
本目录提供一键运行 API 模型评测的脚本。
1. 准备 API key
为了不把 key 写进代码,推荐用环境变量:
export EVAL_API_KEY="sk-xxxx"
如果使用智谱 / Vectron / 自定义 OpenAI-compatible 服务,按需改 EVAL_API_URL:
export EVAL_API_URL="https://api.vectron.meta-stone.com/v1"
export EVAL_MODEL="DeepSeek/DeepSeek-V4-Flash"
2. 快速开始
2.1 测指定 datasets(最常用)
cd /data1/sora/evalscope
export EVAL_API_KEY="sk-xxxx"
export EVAL_DATASETS="gsm8k,aime24,arc"
bash bash/case/GLM52_API_TEST1.sh
想换 benchmark,改 EVAL_DATASETS 即可。常用数据集:
gsm8k, aime24, aime25, aime26, hmmt26, imo_answerbench, competition_math
bbh, drop
bigcodebench, humaneval, live_code_bench
gpqa_diamond, mmlu_pro, simple_qa, mmlu, cmmlu, arc, hellaswag, trivia_qa, winogrande
longbench_v2, openai_mrcr
tau2_bench, general_fc, bfcl_v3
2.2 使用内置模式
bash bash/case/GLM52_API_TEST1.sh --mode quick # 快速冒烟:gsm8k,aime24,arc limit=20
bash bash/case/GLM52_API_TEST1.sh --mode lite # lite 套件
bash bash/case/GLM52_API_TEST1.sh --mode mid # 中等套件
bash bash/case/GLM52_API_TEST1.sh --mode full # 全量(不含 tau2_bench,因为耗时)
bash bash/case/GLM52_API_TEST1.sh --mode official # 与 DP4-Flash 官方发布对齐
2.3 测 GLM5.2
export EVAL_API_KEY="sk-xxxx"
export EVAL_API_URL="https://api.example.com/v1" # 替换为 GLM5.2 的实际 endpoint
export EVAL_MODEL="glm-5.2"
export EVAL_DATASETS="gsm8k,aime24,arc"
export EVAL_FOLDER_NAME="GLM52-API-Test"
bash bash/case/GLM52_API_TEST1.sh
3. 常用命令行参数
| 参数 | 说明 |
|---|---|
--api-key |
API key(也可用 EVAL_API_KEY) |
--api-url |
OpenAI-compatible API 地址 |
--model |
模型名,如 glm-5.2、DeepSeek/DeepSeek-V4-Flash |
--datasets |
逗号分隔的 benchmark 列表 |
--mode |
quick / lite / mid / full / official / custom |
--folder-name |
输出目录名,默认 API-Test |
--config |
评测配置 YAML,默认 config/dpv4-int8_nothinking.yaml |
--batch-size |
并发数,默认 4 |
--limit |
每个 benchmark 最多测多少条,none 表示全量 |
--thinking |
启用 thinking 模式 |
--no-thinking |
关闭 thinking 模式 |
4. 查看进度
评测日志在 logs/ 目录,最新日志:
ls -t logs/live_code_bench_thinking_*.log | head -1
实时看进度:
tail -f $(ls -t logs/live_code_bench_thinking_*.log | head -1)
5. 结果与成本
5.1 结果位置
output/<FOLDER_NAME>/<benchmark>/seed_42/reports/<benchmark>.json
5.2 计算成本
运行完成后,用成本脚本按 token 量算钱:
# GLM5.2:输入 8 元/M,输出 28 元/M,折扣 0.65
bash bash/case/calc_glm52_cost.sh
# 输出到 results/P800_benchmark_cost_GLM52.csv
如果是其他模型,直接调工具:
python3 tools/calculate_cost.py \
--input "P800模型能力评测结果 - DS4-Flash-INT8-NO-Thinking-2.0-FULL.csv" \
--input-price 2 \
--output-price 8 \
--discount 1.0 \
--model-name MyModel \
--output results/cost_mymodel.csv
5.3 把成本写回 Excel
python3 tools/fill_excel_cost.py \
--input "/data1/sora/P800模型能力评测结果_统一格式_filled.xlsx" \
--output "/data1/sora/P800模型能力评测结果_统一格式_with_cost.xlsx" \
--input-price 8 \
--output-price 28 \
--discount 0.65 \
--model-name GLM-5.2
6. 常见问题
6.1 simple_qa 分数为 0
通常是 judge API 被限流(HTTP 429)。SimpleQA 需要调用外部 judge 模型打分。解决方案:
- 换成本地模型当 judge:
bash bash/case/GLM52_API_TEST1.sh \ --datasets simple_qa \ --judge-model /data1/models/DeepSeek-V4-Flash-INT8 \ --judge-api-url http://localhost:30000/v1 \ --judge-api-key EMPTY - 或降低
--batch-size/--parallel-runs减少 judge 并发。
6.2 评测非常慢
代码类 benchmark(live_code_bench、bigcodebench、humaneval)需要实际执行生成的代码并跑测试用例,耗时比纯文本生成高很多。可以先 --limit 10 测小样本。
6.3 只想重跑失败/漏掉的 benchmark
直接指定 datasets 即可,EvalScope 会自动跳过已完成的(通过 use_cache 恢复)。