今天记录一下,在 Ubuntu 22.04.5 LTS 上使用 Conda 虚拟环境安装 vLLM 框架来布署本地模型。
显卡是NVIDIA GeForce RTX 4090,操作系统为Ubuntu 22.04.5 LTS

 

执行nvidia-smi验证显卡驱动已安装最高支持12.2版本

执行nvcc -V验证cuda已安装12.1

执行conda --version验证conda 25.5.1已安装

 

配置 Conda 镜像仓库(国内源)​​添加阿里镜像频道​​:
逐条执行以下命令来添加常用的频道(包括主频道、free、r、msys2以及对于深度学习非常重要的 conda-forge 和 PyTorch 专属频道):

conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/r/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/msys2/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/pytorch/

检查一下你当前的Conda通道配置:conda config --show channels 

 

Conda虚拟环境的创建
创建一个名为vllm_numpy_pytorch的虚拟环境,并指定 Python 版本(推荐 3.9-3.12):

conda create -n vllm_numpy_pytorch python=3.10 numpy=1.26.4 pytorch=2.1.0 torchvision=0.16.0 cudatoolkit=12.1
conda activate vllm_numpy_pytorch   #激活,激活后,终端前缀会显示 (vllm_numpy_pytorch),表示环境已启用。

 若已经存在旧环境,先退出删除重建

conda deactivate  退出
conda remove -n vllm_env --all   删除 

 

安装vLLM依赖的关键库

conda install pytorch torchvision torchaudio cudatoolkit=12.1

 

若cudatoolkit=12.1安装失败,改用pip安装

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

 

PyTorch的验证

#验证PyTorch是否能正确识别GPU

python -c "import torch; print('PyTorch版本:', torch.__version__); print('CUDA可用:', torch.cuda.is_available()); print('CUDA版本:', torch.version.cuda); print('GPU设备:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')"

 

image

 

#检查当前PyTorch的构建配置 在Python环境中运行以下命令,查看当前PyTorch的构建配置:

python -c "import torch;print(torch.__config__.show())"

  

vllm的安装
若 PyTorch能正确识别GPU,vLLM依赖的关键库已经安装好了,准备安装vllm。

验证vllm版本号:

python -c "import vllm; print(vllm.__version__)"

  

若执行报错,就是未安装好

这里使用pip安装,适用于大多数场景,vLLM会自动选择与你的CUDA 和PyTorch 兼容的版本

pip install vllm==0.9.0   # 已知稳定版本

 再次验证vllm版本号。

 

下载小模型

这里从魔搭社区下载Qwen2.5-0.5B用来测试

modelscope download --model Qwen/Qwen2.5-0.5B-Instruct

 

默认下载到: /home/admin1/.cache/modelscope/hub/models/Qwen/Qwen2.5-0.5B-Instruct  

加载模型

vllm serve /home/admin1/.cache/modelscope/hub/models/Qwen/Qwen2.5-0.5B-Instruct --port 8000 --gpu-memory-utilization 0.3

 

image

 

#若遇到报错,根据具体情况修复依赖库。
#若遇到报错transformers版本不兼容
Qwen3模型要求transformers>=4.51.0, vllm>=0.8.5,你可以尝试升级或降级Transformers:
尝试降级transformers到 4.51.0 但注意可能引入新的不兼容

pip install "transformers==4.51.0" --upgrade

确认模型是否成功加载:

curl http://localhost:8000/v1/models

 

用curl调用测试模型问答:

curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
  "model": "/home/admin1/.cache/modelscope/hub/models/Qwen/Qwen2.5-0.5B-Instruct",
  "messages": [{"role": "user", "content": "介绍下杭州"}]
}'

 

image

 

 

其它多模态模型

vllm serve /home/admin1/.cache/modelscope/hub/models/Qwen/Qwen2.5-VL-32B-Instruct \
  --port 8001 \
  --tensor-parallel-size 8 \
  --gpu-memory-utilization 0.7 \
  --swap-space 16

将vLLM服务启动命令修改为提供标准 OpenAI API 接口的形式

python3 -m vllm.entrypoints.openai.api_server \
  --model /home/admin1/.cache/modelscope/hub/models/Qwen/Qwen2.5-VL-32B-Instruct \
  --port 8001 \
  --tensor-parallel-size 8 \
  --gpu-memory-utilization 0.7 \
  --swap-space 16 \
  --served-model-name Qwen2.5-VL-32B-Instruct \
  --host 0.0.0.0 \
  --trust-remote-code \
  --max-model-len 8192

 

curl -X POST "http://localhost:8001/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
  "model": "Qwen2.5-VL-32B-Instruct",
  "messages": [{"role": "user", "content": "介绍下杭州"}]
}'

 

posted on 2025-08-20 15:18  yi-sheng  阅读(292)  评论(0)    收藏  举报