对大模型供应商做性能压测与效果评测的一体化验证工具集。性能压测支持 OpenAI / Anthropic 双协议端点,效果评测支持任意 OpenAI 兼容端点,跑完自动产出报告与结构化产物。
命名:THVV = TokenHub Vendor Verifier,用于供应商引入前的能力验证与产物归档。
| 模块 | 说明 | 状态 |
|---|---|---|
perf |
性能压测:1k~200k 输入长度档位 × 并发梯度全组合,含成功率早停、温度 / tokenizer 自适应,产出 HTML(37 列全指标 + 失败请求明细)+ xlsx 双报告 | ✅ |
eval |
效果评测:11 个主流数据集(AIME25/26、GPQA-Diamond、HLE、tau2-bench、MMLU-Pro、SimpleQA、LongBench v2、LiveCodeBench、SWE-Bench…),自动产出效果评测报告 | ✅ |
├── README.md / README_EN.md # 本说明(中文 / 英文)
├── .gitignore # 产物、数据集缓存、密钥不入库(数据集走 Git LFS)
└── thvv/ # 所有入口均在 thvv/ 下(先 cd thvv 再操作)
├── quickstart.sh # 一键入口(check / install / perf / eval)
├── cli.py # 统一 CLI:python3 thvv/cli.py perf|eval|check|install ...
├── configs/
│ ├── env.example # 配置模板(复制为 .env 使用)
│ ├── env.demo # .env 演示样例(OpenAI + Anthropic 双协议)
│ ├── README.md # 配置项说明
│ └── .env # 实际凭据(不入库)
├── perf/ # 性能压测
│ ├── run.sh # 子命令:check / bench / bench-all / report
│ ├── requirements.txt # perf 依赖(evalscope[perf]>=0.13.0)
│ ├── scripts/ # gen_perf_dashboard.py(HTML 唯一出口)/ gen_report_from_db.py(xlsx)/
│ │ # export_failure_details.py(失败 CSV)/ setup_tokenizer.py / sla_eval.py(SLA 判定)
│ ├── datasets/ # 10 个数据集(1k~200k 共 7 主档 + 3 个前缀缓存场景)
│ ├── references/ # 性能测试报告模板.xlsx
│ ├── 性能验收标准.xlsx # 性能验收标准(perf)
│ └── results/ # 产物:性能测试报告.html + 性能测试报告.xlsx
└── eval/ # 效果评测
├── run.sh # 子命令:check / bench / list
├── requirements.txt # eval 依赖(evalscope 固定 1.9.0)
├── scripts/run_eval.py # 评测引擎(预检查 + 限流重试 + 打包)
├── scripts/eval_report_v2.py # 报告生成器
├── 效果验收标准.xlsx # 效果验收标准(eval)
└── results/ # 产物:eval_report_v2.html / eval_summary.json / per_sample_details.csv
cd thvv
cp configs/env.example configs/.env # 填写 API_URL / API_KEY / MODEL_NAME / PROTOCOL / TOKENIZERAPI_URL必须是完整请求路径(OpenAI:.../v1/chat/completions;Anthropic:.../v1/messages)PROTOCOL=openai|anthropic(perf 支持双协议;eval 走 OpenAI 兼容接口,一般无需设置)- 配置优先级:CLI 参数 > 环境变量 >
configs/.env
除 quickstart.sh 外,也可用统一 CLI:
python3 thvv/cli.py perf bench 1k 20 1(等价透传,启动时自动加载configs/.env)
bash quickstart.sh check
bash quickstart.sh installbash quickstart.sh perf bench 1k 20 200 # 单档:<bucket> [请求数] [并发]
bash quickstart.sh perf bench-all # 全档位 × 并发梯度(可配 BUCKETS / CONCURRENCY_LADDER 等)
bash quickstart.sh perf report # 从 results/ 重新生成报告常用环境变量:BUCKETS、CONCURRENCY_LADDER、BUCKET_COOLDOWN、N_<label>(单档请求数)、SUCCESS_RATE_MIN(成功率早停)、TEMPERATURE(默认按模型名自适应:kimi/moonshot=1.0,其余=0.0)、CLIENT(xlsx 报告署名)。MODEL_NAME 命中常见模型族时 tokenizer 自动识别,TOKENIZER 显式设置优先。详见 thvv/perf/README.md。
bash quickstart.sh eval list # 列出 11 个数据集
bash quickstart.sh eval bench aime26 # 单数据集
bash quickstart.sh eval bench aime26 --limit 30 --repeats 1 --eval_batch_size 10
bash quickstart.sh eval bench all # 全部需 LLM Judge 的数据集(hle / simple_qa,all 同样强制)需提供 --judge_api_key;judge 模型与地址有默认值(deepseek-v4-pro @ https://api.deepseek.com/v1),可用 --judge_model / --judge_base_url 覆盖。限流自动等待 60s 并注入 --use-cache 续跑。详见 thvv/eval/README.md。
报告结构如下,数据全部来自 evalscope 落盘产物(reviews / reports/*.json / task_config.yaml / 日志):
- 核心结论 — 正确率 / 题目数 / 异常跳过 KPI
- 效果与稳定性 — 多轮(repeats)得分对比
- 用户体验与性能 — TTFT / TPOT / 吞吐分位数
- 模型与评测配置 — 实际生效参数(凭证脱敏)
- 逐题结果与评测证据 — 每题完整思维链 / 答案 / 评分
- 异常跳过题目 — 被
ignore_errors静默丢弃的题及原因分类
典型结果目录:
thvv/eval/results/<provider>-<model>-<timestamp>/
├── all_eval_summary.json # 总汇总(仅 run 根一份)
├── eval_results.tar.gz # 打包归档(含全部原始产物)
└── aime26/
├── eval_report_v2.html # 效果评测报告(交付物)
├── eval_summary.json # 分数摘要
├── per_sample_details.csv # 逐题明细
├── configs/task_config.yaml # 实际生效配置
└── logs/ # 运行日志(跳过样本兜底来源)
原始
predictions/、reviews/、reports/(evalscope 原生产物,占体积 90%+)的信息已提炼进 逐题明细与报告,打包归档后自动从散目录清理;失败的数据集保留原始产物便于排障。
HTML(单文件离线可开,四章结构,指标与 xlsx 完全同口径):
- 总体结论 — 总请求 / 成功 / 失败 / 总成功率 + 处置建议
- 并发梯度对比 — 37 列全指标矩阵:TTFT(Avg/Min/Max/P50/P90/P95/P99)、 TTLT / Rate / ITL(Avg/P50/P90/P95/P99)、Tokens、Avg Total Time(ms)、 Output TPM / Output TPS / Input TPM / TPM
- 失败分析 — 失败原因聚合(429 限流自动识别)+ 占比 + 处置建议
- 失败请求明细 — 逐条罗列所有失败请求(HTTP 状态码 / 请求 Body / 响应 Body / TTFT / TTLT)
xlsx:38 列「性能指标」sheet(口径与 HTML 一致);失败明细只放 HTML,不在 xlsx 重复。
供应商性能验收判定标准见 性能验收标准.xlsx,要点如下:
测试要求
- 低并发预热 5min,排除冷启动影响
- 按并发梯度压测 10–15min,稳定后采集数据;TPM/RPM 未达承诺规格时,请求成功率须满足 SLA
TTFT / 请求成功率(按 InputTokens 增量,不含 cache)
| InputTokens | 腾讯侧标准 |
|---|---|
| <6K | P90<5s |
| 6~16K | P90<5s |
| 16~32K | P90<8s |
| 32~64K | P90<15s |
| 64~128K | P90<35s |
| 128~256K | P90<70s |
OTPS
| 模型激活参数 | 档位/Tier | 腾讯侧 OTPS 要求 |
|---|---|---|
| >10B 的模型 | L1 | ≥ 30 tokens/s |
| L2 | ≥ 10 tokens/s | |
| ≤10B 的模型 | / | ≥ 100 tokens/s |
以上均使用腾讯提供的 benchmark 验证,详细数据见
thvv/perf/性能验收标准.xlsx。
效果验收基线见 效果验收标准.xlsx,各模型精度可在 ±2-4% 上下浮动:
| 数据集 | kimi-k3 | HY3 | deepseek-v4-flash-0731 | hy4-preview |
|---|---|---|---|---|
| AIME2026 | 95 | 96.63 | 95.67 | 96 |
| HLE | 44 | 29.74 | 32.35 | 34.33 |
| MMLU_Pro | 89.52 | 87.36 | 87.25 | 85.96 |
| Simple_QA | 46.1 | 34.41 | 37.56 | 33.7 |
| GPQA-Diamond | 92.76 | 90.66 | 89.73 | 94.44 |
| LongBench V2 (Short) | 72.22 | 65.54 | 68.89 | 67.56 |
| τ²-Bench · 智慧零售 retail | 82.22 | 75.18 | 87.7 | 82.22 |
| τ²-Bench · 电力技术支持 telecom | 71.53 | 76.49 | 98.42 | 77.14 |
| τ²-Bench · 航空客服 airline | 66.52 | 63.45 | 68.05 | 74.7 |
| τ²-Bench · OVERALL | 75.02 | 73.61 | 88.7 | 77.27 |
| LIVE-CODE-BENCH | 93.18 | - | - | 86.92 |
| SWE-bench_Verified_Mini_Agentic | - | - | - | 85.42 |
"-" 表示该模型未提供该数据集结果;详细数据见
thvv/eval/效果验收标准.xlsx。
- API Key 只放在
configs/.env或环境变量,不要写进命令行与代码 .env与results/、datasets/缓存均已由.gitignore排除,不会进版本库- 报告生成时对配置中的凭证字段自动脱敏
- eval 侧 evalscope 固定
1.9.0(2026-07-20 已验证组合,勿随意升级);perf 侧evalscope[perf]>=0.13.0