一、先准备云主机

示例里使用的是 AutoDL。

官网:

https://www.autodl.com/

二、安装 vLLM

参考文档:

https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html

如果系统里还没有 pip,需要先准备 python3pip3。然后直接安装:

pip3 install vllm

三、下载大模型

3.1 查看 vLLM 支持的模型

https://docs.vllm.ai/en/latest/models/supported_models.html

3.2 用 ModelScope 下载模型

先安装 modelscope

pip3 install modelscope

然后编写一个下载脚本,例如 download_models.py

from modelscope.hub.snapshot_download import snapshot_download

# 指定要下载的模型 ID
model_id = 'Qwen/Qwen2-7B'

# 可选:指定下载目录
cache_dir = '/root/models'

model_dir = snapshot_download(model_id, cache_dir=cache_dir, revision=None)
print(model_dir)

执行下载:

python3 download_models.py

下载后的模型路径示例:

/root/models/Qwen/Qwen2-7B

四、启动 vLLM 服务

4.1 安装 OpenAI SDK

pip3 install openai

4.2 启动模型服务

vllm serve /root/models/Qwen/Qwen2-7B \
  --served-model-name Qwen2-7B \
  --gpu-memory-utilization 0.95 \
  --max-model-len 4096 \
  --port 8000

4.3 关键参数说明

  • --served-model-name Qwen2-7B:自定义服务里的模型名,调用接口时直接用这个名字。
  • --gpu-memory-utilization 0.95:把显存利用率拉高到 95%,提高显存使用效率。
  • --max-model-len 4096:限制最大上下文长度,避免显存压力过大。

五、vLLM 的常见进阶用法

5.1 启用半精度

vllm serve your_model_path \
  --dtype half \
  --gpu-memory-utilization 0.9

说明:--dtype half 用 FP16 半精度降低显存占用。

5.2 多 GPU 并行

vllm serve your_model_path \
  --tensor-parallel-size 2 \
  --gpu-memory-utilization 0.9

说明:--tensor-parallel-size 2 表示使用 2 张 GPU 并行。

5.3 启用量化

vllm serve your_model_path \
  --quantization awq \
  --gpu-memory-utilization 0.9

说明:量化格式需要模型本身支持。

5.4 常见参数参考

参数 典型值范围 作用说明
--gpu-memory-utilization 0.8~0.95 显存利用率,过高可能导致 OOM
--max-model-len 2048/4096/8192 模型处理的最大序列长度
--tensor-parallel-size 1~8 GPU 并行数量
--dtype half/auto 精度或数据类型设置

六、用 curl 测试接口

6.1 查看模型列表

curl localhost:8000/v1/models

6.2 调用补全文本接口

curl http://localhost:8000/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen2-7B",
    "prompt": "你好",
    "temperature": 0.7,
    "max_tokens": 50
  }'

如果启动时没有指定 --served-model-name,那么 model 字段就需要写完整模型路径。

七、AutoDL 自定义服务与 Chatbox 访问

7.1 打开 AutoDL 自定义服务

在控制台中进入:

容器实例 -> 快捷工具

Day003-大模型私有化部署-图10

Day003-大模型私有化部署-图11

端口映射示例:

如果实例上 vLLM 服务监听 8000,你希望本地监听 8080,那么可以写成:

-L 8080:127.0.0.1:8000

7.2 用 Chatbox 访问 vLLM

接好端口映射后,就可以在 Chatbox 中把 vLLM 服务当作一个兼容 OpenAI 风格的模型接口来调用。

Day003-大模型私有化部署-图12

八、vLLM 路线的核心价值

如果 Ollama 更像“本地快速跑起来”,那么 vLLM 更像“把模型变成一个正式服务”。当你需要接口调用、高吞吐推理和更细粒度的部署参数控制时,vLLM 会更合适。