vllm作为服务启动,无需额外编写sh文件,一步到位【Ubuntu】

发布于:2025-04-06 ⋅ 阅读:(36) ⋅ 点赞:(0)

看到网上有的vllm写法,需要额外建立一个.sh文件,还是不够简捷。这里提供一种直接编写service文件一步到位的写法:

vi /etc/systemd/system/vllm.service

[Unit]
Description=vLLM Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/data/llm
ExecStart=/bin/bash -c "source /root/miniconda3/bin/activate cosyvoice && exec python -m vllm.entrypoints.openai.api_server --model /data/llm/Qwen_QwQ-32B-Q5_K_S.gguf --served-model-name qwen-qwq-q5 --max-model-len 10240 --port 8081 --tensor-parallel-size 2 --dtype half --swap-space 4 --max-num-batched-tokens 25600"
Restart=always
Environment="PATH=/usr/bin:/usr/local/bin"
Environment="PYTHONUNBUFFERED=1"

[Install]
WantedBy=multi-user.target

我的是使用minicoda3安装在默认路径的,因此激活文件是/root/miniconda3/bin/activate

几个参数修改点:
/data/llm:这个是运行目录,我是直接指定了GGUF目录

cosyvoice:这个是conda的环境名,你的vllm装在哪个环境,就指定为哪个环境

/data/llm/Qwen_QwQ-32B-Q5_K_S.gguf:这个是你的模型文件位置

qwen-qwq-q5:这个是安装后OPENAI的服务模型名称

tensor-parallel-size 2:这里是指定在2个显卡上运行,由于我的环境是双卡,因此启用了张量并行

以上参数调整完后:

更新服务:
systemctl daemon-reload
设置自启动:
systemctl enable vllm

启动服务:
systemctl start vllm.service

查看服务启动日志(VLLM启动很慢,因此有需要查看日志):
sudo journalctl -u vllm --since "5 minute ago"