9.1 快速入门:离线推理与在线服务
vLLM 快速入门、V1 架构、调度源码与调优
下列示例面向已按官方安装矩阵配置的 GPU 环境。模型路径是占位符;安装 vLLM 前先确认 Python、驱动、GPU 架构与 wheel 匹配,记录确切版本。本手册没有在当前机器执行 GPU 推理。vLLM Quickstart
from vllm import LLM, SamplingParams
llm = LLM(model="/models/model", max_model_len=4096)
params = SamplingParams(temperature=0.0, max_tokens=64)
outputs = llm.generate(["解释什么是 KV Cache。", "解释 Prefill 与 Decode。"], params)
for item in outputs:
print(item.outputs[0].text)
这段演示 completion;Instruct 模型优先走匹配的 chat 接口 / tokenizer chat template,不能把任意裸文本当成训练时的对话格式。只在客户端或服务端应用一次模板,核对 BOS / EOS 和角色标记。
vllm serve /models/model --served-model-name infra-demo \
--host 127.0.0.1 --port 8000 --max-model-len 4096 \
--generation-config vllm
curl http://127.0.0.1:8000/v1/models
curl http://127.0.0.1:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"infra-demo","messages":[{"role":"user","content":"解释 KV Cache。"}],"temperature":0,"max_tokens":64}'
模型仓库的 generation_config.json 可改变服务默认采样参数;实验可用 --generation-config vllm 排除这项隐式默认,再在请求中明确采样。保存最终生效配置而非只保存启动命令。默认 generation config 行为
排错按阶段进行:加载失败查模型格式 / 环境;启动 OOM 查权重、Graph 和 workspace;并发 OOM 查 KV / admission;输出乱码查模板 / tokenizer;服务超时查队列与执行时间。减小 gpu_memory_utilization 不会压缩权重,只调整可用预算,过低反而可能不足以启动。