这个项目从官方 vLLM 0.11.0 镜像出发,目标是保留 benchmark 客户端体验,同时减少无关运行时内容。使用官方镜像作为来源可以保持 CLI 参数和依赖版本接近上游,裁剪过程则把关注点放在在线服务压测。
项目概览
项目结构围绕官方 vllm/vllm-openai:v0.11.0 的依赖组合,保留 benchmark CLI、tokenizer、数据集采样、请求函数和少量辅助脚本。
用途是生成一个 benchmark-only 容器,用于压测外部 OpenAI 兼容服务。应用场景包括对比不同服务版本、在较小运行环境中发起压测、保持与 vLLM 0.11.0 参数习惯一致。
镜像整理
构建阶段保留 benchmark 入口、OpenAI 兼容请求依赖、tokenizer 相关依赖和少量辅助脚本。推理服务端、开发工具、临时缓存和测试大文件从最终镜像中移除。
入口脚本保持上游命令习惯,运行时只需指定服务地址、模型名和压测参数。这样既能复用现有 benchmark 使用经验,也能让镜像更适合在轻量环境中分发。
测试组合
验证分成两层:mock 服务检查请求格式和统计输出,真实服务检查端到端延迟与错误处理。两类测试使用相同参数集合,方便比较不同环境的表现。
实现原理是固定上游 0.11.0 依赖组合,把入口映射到 vllm.entrypoints.cli.main:main,同时裁掉服务端和 GPU 推理相关内容。这样可以保留熟悉的 benchmark 命令,又减少镜像职责。