跳到主要内容
版本:最新版(main)

命令参考

vllm-sr serve 启动 Router 的持久前端及其托管的运行时 worker;vllm-srun serve 直接启动一个 worker。本页列出两者的每个选项,以及 worker 可以读取的 models 文件。

vllm-sr serve 与 vllm-srun serve​

vllm-sr serve MODEL ...(引擎模式)在前台跑 runtime,跑在 router 镜像拉起的 Docker 或 Podman 容器里。不带 MODEL 参数时,vllm-sr serve 起的是 router。

选项默认含义
MODEL ...Hub 仓库、内置模型名或本地包目录,容器通过只读挂载读它们。多个模型共用一个进程。MODEL@REVISION 钉 revision。
--models FILE用 models 文件代替 MODEL 参数。其中的本地包也会挂载进去。
--revision SHA要加载的 40 位 commit,对一个 MODEL 生效。
--platformcpu镜像与 GPU 透传:cpu(vllm-sr)、amd(vllm-sr-rocm,带 ROCm 设备)或 nvidia(vllm-sr-cuda,带 NVIDIA GPU)。macOS 只能跑 cpu。
--deviceautoauto,或镜像跑得动的:cpu、--platform amd 时的 rocm[:N]、--platform nvidia 时的 cuda[:N],或镜像里装了插件时的插件加速器。
--host127.0.0.1runtime 端口发布在哪个宿主地址。
--port8100runtime 发布在哪个宿主端口。
--max-num-seqs、--max-num-batched-tokens、--batch-window-ms、--dtype、--enable-shared-context已配置的值,或 runtime 默认值默认部署的引擎参数,与副本数和放置位置无关。
--image平台对应的镜像换一个镜像,比如装了插件的。
--image-pull-policyalwaysalways、ifnotpresent 或 never。
--container-runtime自动探测docker 或 podman。
--log-levelinforuntime 的日志级别。

引擎模式把 runtime 下载和编译的东西留在 ~/.cache/vllm-sr/models(设了 $XDG_CACHE_HOME 时是 $XDG_CACHE_HOME/vllm-sr/models);VLLM_SR_ENGINE_CACHE_DIR 可以搬走它。HF_TOKEN、HF_ENDPOINT 和 HF_HUB_OFFLINE 按名字进容器,绝不上它的命令行。

vllm-srun serve 是同一个服务,选项最全。它是镜像里跑的那条命令;在你自己机器上用它需要一份源码检出(make model-runtime-install)。

选项默认含义
MODEL ...Hub 仓库、内置模型名或本地包目录。多个模型共用一个进程。MODEL@REVISION 钉 revision。
--models FILE用 models 文件代替 MODEL 参数。
--revision SHA要加载的 40 位 commit,对一个 MODEL 生效。
--deviceautoauto,或带可选索引的加速器:cpu、cuda[:N]、rocm[:N]、xpu[:N]、npu[:N]、mps,或插件加的。
--host127.0.0.1监听地址。
--port8100监听端口。
--uds PATH监听 Unix socket,不走 TCP。
--engineauto引擎插件:auto(首个能跑这个模型的,native 优先)、native(PyTorch)或 onnxruntime(onnx extra)。
--family自动探测强制指定模型家族插件。
--served-model-name模型名API 报告的模型 ID,对一个 MODEL 生效。
--threads全部核进程的 CPU 线程数。ONNX Runtime 模型的每张图各跑一个至多这么多线程的池,大机器上值得设。
--memory-budget GIB预估大小超过这个值的模型,拒绝加载。
--max-queue256每个模型排多少请求之后,runtime 开始答 429。批量请求(states)的每个条目各算一个。超过此值的请求在没有其他排队时照常运行。
--max-queued-tokens4194304每个模型排多少 token 之后答 429。超过此值的请求在没有其他排队时照常运行。
--max-num-seqs8192一次前向最多装多少行(跨请求计):决策请求每个问题一行,其他请求每个输入或窗口一行。1 表示每行单独跑。默认值在默认 token 预算下永远不会成为限制。见引擎参数。
--max-num-batched-tokens65536一次前向最多装多少个补齐后的 token:行数乘以最长那一行;对打包行的模型也这样计数。
--batch-window-ms2.0--max-num-seqs 大于 1 时,第一个请求到达后调度器再等多久收集更多请求。
--dtypeautoauto(模型发布时的精度)、float32、bfloat16 或 float16(仅 GPU)。
--enable-shared-context、--no-enable-shared-context由模型家族决定多问题决策请求的共享状态只算一次。只有 Decision 2.0 默认开启。
--max-request-bytes33554432请求体上限。
--systemone-schemavllm-sr/5.0/v1/systemone 和 /v1/systemone/batch 使用的 System One schema;vllm-sr/4.0 同时接受旧契约的请求形式。
--max-bundle-tasks64一个 /v1/bundle 请求最多带多少任务。
--load-attempts5一个模型加载几次之后就算 failed;包损坏或自检失败不重试。
--load-retry-seconds5加载失败的模型第一次重载前等多久,之后翻倍,最多 300 秒。
--result-cache-entries16384每个模型按内容留多少条近期结果;0 关掉缓存。
--cache-dirHF_HUB_CACHEHugging Face 缓存目录。
--offline关只用缓存里已有的文件。
--base-path DIR适配器包需要的钉版基模型的本地副本,免去下载。文件会按包里记的哈希核对。
--accept-licence ID接受受限许可证(可重复)。
--log-levelinfodebug、info、warning 或 error。
--autotune-cache DIR$VLLM_SRUN_AUTOTUNE_CACHE把编译好的 GPU kernel、以及没有记录选择的模型的 kernel 调优留在多次运行之间。内置模型在 MI300X 和 MI325X 上跑的是记录在案的选择,不调优。

其他命令​

其他命令:vllm-srun models 列内置模型及钉住的 revision;vllm-srun plugins 列已装的家族、引擎和加速器;vllm-srun devices 以 JSON 打印本机有哪些设备、--device auto 先试哪个。

models 文件​

models 文件列出一个进程的模型,各自带选项:

models.yaml
models:
- model: vllm-sr/Vela-1.0-Encoder-307M-Domain
name: vela-domain
device: cpu
- model: vllm-sr/d3-edge
name: decision-edge
device: auto
enable_shared_context: false

每条目收 model(必填)、revision、name、device、engine、family、memory_budget_gib、options(家族选项;Vela 2.0 模型还收 max_scan_tokens,即它的扫描预算),以及引擎参数 max_num_seqs、max_num_batched_tokens、batch_window_ms、dtype 和 enable_shared_context;条目没写的取进程命令行上的值。router 为它托管的进程写这个文件。