vLLM

概述

参考:

用于 LLM 的高吞吐量和内存高效的推理和服务引擎

支持的模型: https://docs.vllm.ai/en/stable/models/supported_models/

部署

部署什么?

  • vllm CLI
  • vllm 第三方库供 Python 导入?

感觉都可以,也挺简单的。

vllm 可以直接用容器镜像拉起来

Python 库可以用 uv 装

主要是后面如何用 vllm 使用模型进行推理。以及国产化,尤其是 Ansible Plugins 比较麻烦

容器化部署

TODO

使用 vLLM

使用 vLLM 意味着通过 vLLM 启动一个对外提供的推理服务

使用 vllm serve 命令,在 8000 端口上启动一个兼容 OpenAI API 的 WebAPI,提供了 Qwen3-0.6B 模型的推理服务:

vllm serve --model Qwen/Qwen3-0.6B

[!Tip] 默认情况下,vllm 会从 Hugging Face 下载指定的模型。或者也可以使用 HF 镜像站下载模型后,手动指定本地模型路径

之后,我们可以通过 http://localhost:8000/v1 使用 OpenAI 兼容的 API 获取推理结果。

vllm 自身也提供了基本的聊天能力,使用 vllm chat 命令即可连接到 localhost:8000 并进入聊天模式,就像这样:

~]# vllm chat
Using model: Qwen/Qwen3-0.6B
Please enter a message for the chat model:
>

https://docs.vllm.ai/en/stable/models/supported_models/?h=vllm_use_modelscope#modelscope

如果在国内访问 Hugging Face Hub 困难,可以使用使用 https://www.modelscope.cn/ 代替。只需要设置环境变量即可:

export VLLM_USE_MODELSCOPE=True

之后,vllm 会到 ModelScope 默认的缓存目录中寻找 模型、数据集、etc.

Plugins

参考:

社区经常要求为 vLLM 添加自定义功能。为了方便用户实现这一目标,vLLM 内置了一个插件系统,允许用户在不修改 vLLM 代码库的情况下添加自定义功能。

  • Plugin Ascend # 让 vLLM 可以运行在华为昇腾系列硬件上的插件
  • etc.

Benchmark

参考:

vLLM 提供全面的基准测试工具,用于性能测试和评估:

Benchmark CLI

说是 CLI,其实不是单只 vllm bench 子命令,还包含了部分 Python 脚本及其他可以在命令行执行的命令。

vLLM 基准测试有多种场景

  • Offline Throughput Benchmark(离线吞吐基准测试) # 测试理论上 模型 + 硬件 的最大性能。
    • 把所有请求一次性全部塞进去,让 vLLM 以最大批处理能力处理;没有网络、队列、并发控制、etc.
    • 子命令: vllm bench throughput
  • Online Benchmark(在线基准测试) # 测试已经启动的推理服务的实际性能(e.g. 延迟、吞吐、etc.)
    • 模拟真实用户按一定速率陆续发来请求。通过 HTTP 进入队列、等待、竞争、etc.
    • 子命令: vllm bench serve
  • Long Document QA Benchmark(长文档 QA 基准测试) # 对采用前缀缓存的长文档问答性能进行基准测试。
    • 使用脚本 benchmarks/benchmark_long_document_qa_throughput.py
  • 其他待总结

最后修改 May 10, 2026: update vllm benchmark (225ce413)