vllm-project/guidellm
Evaluate and Enhance Your LLM Deployments for Real-World Inference Needs
GuideLLM – 面向 LLM 推理的 SLO 感知基准测试
是什么 – GuideLLM 是一个基于 Python 的平台,让您能够在真实的生产工作负载下评估大语言模型的行为。它与任何 OpenAI 兼容端点(包括 vLLM 服务器)通信,驱动可配置的流量模式,并记录详细的延迟和令牌级指标,以便您了解部署是否满足服务级别目标(SLO)。
为何使用
- SLO 驱动指标 – 捕获首令牌延迟、令牌间延迟、端到端延迟分布和令牌吞吐量。
- 真实流量生成 – 支持同步、并发、固定速率、泊松和扫描配置文件,并带有预热/冷却处理。
- 灵活的数据源 – 合成文本、合成图像/视频、HuggingFace 数据集、本地 JSON/CSV/文本文件或自定义加载器。
- 多模态支持 – 可以合成视觉输入以基准测试 VLM 服务。
- 标准化输出 – 用于仪表板或回归跟踪的 JSON、CSV、HTML 和绘图文件。
- 可扩展的 CLI/API – 易于脚本化或嵌入 CI 管道;还提供用于 Kubernetes/Openshift 的容器镜像。
快速开始
# 安装(Python 3.10‑3.13)
pip install guidellm[recommended]
# 启动 vLLM 服务器(示例模型)
vllm serve "neuralmagic/Meta-Llama-3.1-8B-Instruct-quantized.w4a16"
# 运行扫描基准测试(最长 30 秒)
guidellm run \
--backend kind=openai_http,target=http://localhost:8000 \
--profile kind=sweep \
--constraint kind=max_duration,seconds=30 \
--data kind=synthetic_text,prompt_tokens=256,output_tokens=128
该命令打印进度,然后将 benchmarks.json/benchmarks.csv(或请求的 HTML/绘图)写入结果目录。
典型工作流
| 目标 | 示例命令片段 |
|---|---|
| 限速负载测试 | --profile kind=constant,rate=10 --constraint kind=max_duration,seconds=20 |
| 数据集驱动评估 | --data kind=huggingface,source=abisee/cnn_dailymail,load_kwargs.name=3.0.0 --data‑column‑mapper kind=generative_column_mapper,column_mappings.text_column=article |
| 聊天补全基准 | --backend kind=openai_http,target=http://localhost:8000,request_format=/v1/chat/completions --data kind=json_file,path=data.json |
| 多模态 VLM 测试 | --data kind=synthetic_image,... --data kind=synthetic_text,... |
| 场景复用 | guidellm run --config chat --backend kind=openai_http,target=http://localhost:8000 |
安装选项
- PyPI –
pip install guidellm[recommended] - 从源码 –
pip install git+https://github.com/vllm-project/guidellm.git - 容器 –
ghcr.io/vllm-project/guidellm:<标签>(多架构,支持 Docker/Podman/K8s)
扩展项目
仓库包含 DEVELOPING.md、CONTRIBUTING.md 和行为准则。开发人员可以按照文档化的插件架构添加新的后端、请求格式或数据加载器。
许可证和引用
- Apache 2.0
- 如果在研究中使用 GuideLLM,请使用提供的 BibTeX 条目引用。
GuideLLM 是一个真正的、面向生产的 LLM 推理基准测试套件,专为需要 SLO 感知性能数据的工程师和 ML 团队设计。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目