安装VLLM手册

一把老骨头 发布于 阅读:5 经验技巧

方案一:使用 uv 安装(推荐)

这是官方推荐的安装方式。uv 是一个快速的 Python 环境管理器,能自动处理 PyTorch 与 CUDA 版本的匹配问题 。

  1. 安装系统依赖和 uv 工具
    bash

更新系统并安装编译工具和 Python 开发头文件

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential python3.12 python3.12-venv python3.12-dev git-lfs

安装 uv 工具

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env

注意:python3.12-dev 包提供了编译必需的 Python.h 头文件,缺少它可能导致安装失败 。
  1. 创建并进入项目目录
    bash

mkdir -p ~/projects/vllm && cd ~/projects/vllm

  1. 创建并激活 Python 虚拟环境
    bash

uv venv myenv --python 3.12 --seed
source myenv/bin/activate

  1. 安装 vLLM

在虚拟环境中,使用 uv 安装 vLLM,它会自动检测当前 CUDA 驱动并选择合适的 PyTorch 后端 。
bash

uv pip install vllm --torch-backend=auto

  1. 验证安装
    bash

python3 -c "import vllm; print(vllm.version)"

如果成功打印出版本号,说明安装成功

启动服务与运行模型

完成安装后,你可以通过以下两种方式之一启动 vLLM 服务。
离线推理方式(Python 脚本)

创建一个 Python 文件,例如 run.py,用于加载模型并执行推理 。
python

from vllm import LLM, SamplingParams

1. 加载模型,替换为你的模型路径或 Hugging Face 名称

llm = LLM(model="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", tensor_parallel_size=1)

2. 设置采样参数

sampling_params = SamplingParams(temperature=0.7, top_p=0.9, max_tokens=512)

3. 执行推理

outputs = llm.generate(["解释量子计算的基本原理"], sampling_params)

4. 打印结果

for output in outputs:
print(output.outputs[0].text)

然后在终端执行:python3 run.py
OpenAI 兼容服务器方式

这是最常用的方式,可以启动一个 HTTP 服务供其他程序调用 。

创建一个启动脚本 start_server.sh:
bash

!/bin/bash

source ~/projects/vllm/myenv/bin/activate
vllm serve <你的模型名称或路径> \
--host 0.0.0.0 \
--port 8000 \
--dtype auto \
--gpu-memory-utilization 0.85 \
--max-model-len 32768 \
--trust-remote-code

赋予执行权限并运行:
bash

chmod +x start_server.sh
./start_server.sh

调整参数:
docker run -d \
--runtime=nvidia --gpus=all \
-v /path/to/your/model:/model \
-p 8000:8000 \
vllm/vllm-openai:v0.8.5 \ # 注意,此处指定了特定版本
--model /model \
--tensor-parallel-size 1 \ # 单卡设为1;如果你有2张就设为2
--quantization awq \ # 根据你下载的模型量化类型调整
--dtype auto \
--max-model-len 16384 \ # 可适当降低以防显存溢出
--gpu-memory-utilization 0.9 \
--swap-space 32 # 设置swap空间,防止KV Cache溢出