私有化部署大模型服务的压测 / 评测 runbook 合集 —— 每个子目录一套可直接照抄的流程(命令 + 脚本),方法为主、工具中立。
| 子目录 / 文件 | 内容 |
|---|---|
evalscope/ |
用我们的 evalscope 镜像(内置 ShareGPT)+ 外挂 tokenizer(在线拉 / 离线挂),对 OpenAI 兼容端点做模板化压测(选场景 / 指定 SLO),找 SLO 拐点 |
SCENARIOS.md |
跨工具共享的场景词表(inference / capacity / engine-kv-cache / context-length …),从平台导出 |
后续会持续新增(guidellm / aiperf / tau-bench 等),每套独立一个子目录、共用同一套模板形态。
每套 runbook 都是 make 驱动:
懒得敲?浏览器打开
evalscope/wizard.html(离线单文件):粘贴curl自动解析端点、选模板/模式,一键生成config.env和运行计划。
cd evalscope
make config # 交互填端点 / tokenizer / 选模板 → 生成 config.env
make smoke # 冒烟
make run # 按模板扫描,参数自动填充(可 make run TEMPLATE=chat-slo 覆盖)
make parse # 找 SLO 拐点(解析最新一次 run)模板就是一组压测参数(evalscope/templates/*.env),make run 时自动填充,用户不用填参数。
宿主只需 bash + make + docker。镜像公开在 ghcr.io/weetime/,make smoke/make run 缺镜像会自动拉取。详见各子目录 RUNBOOK.md。
make run 走 modeldoctor 的 runner 默认入口(python -m runner),sweep 在容器内跑,产物落
out/<run-id>/(含 runner 写的 result.json/meta.json)——与平台在线跑同镜像、同契约、
同布局,离线量出来的口径与在线一致。
本仓库公开可见,任何真实端点、密钥、内网信息都不得入库。约定:
- 真实值只写进
config.env(make config生成,已被.gitignore忽略),仓库里只放config.example.env模板。 tok/(tokenizer)与out/(压测产物)不入库 —— 产物里会内嵌真实端点/模型名。- 脚本与文档一律用
$URL/$MODEL/$KEY变量或<占位符>,不硬编码 IP / key / 内网主机名。 - 提交前自查:
git grep -nE '([0-9]{1,3}\.){3}[0-9]{1,3}|sk-|api[_-]?key' -- ':!*.example'应无命中。