linux系統(tǒng)使用vllm搭建本地模型的詳細(xì)步驟
在 Linux 系統(tǒng)上使用 vLLM 搭建本地模型服務(wù),是當(dāng)前生產(chǎn)環(huán)境中非常主流的方案。相比于 Ollama,vLLM 通過 PagedAttention 等技術(shù),在高并發(fā)場景下的吞吐量和顯存管理上表現(xiàn)更優(yōu)。

第一步:環(huán)境準(zhǔn)備與依賴安裝
vLLM 對(duì) CUDA 版本和 Python 環(huán)境有特定要求。為了不污染系統(tǒng)環(huán)境,強(qiáng)烈建議使用 Conda 或 Python 虛擬環(huán)境。
1. 硬件與系統(tǒng)要求
- 操作系統(tǒng):Linux (Ubuntu, Redhat, openEuler 等)。
- GPU:NVIDIA GPU,計(jì)算能力 7.0 及以上(如 V100, T4, RTX 30/40/50 系列, A100/H100 等)。
- 顯存:根據(jù)模型大小決定。例如,32B 模型建議 24GB+ 顯存(如 RTX 3090/4090)。
- CUDA 版本:建議 12.1 或 12.4。
2. 安裝 Miniconda 與創(chuàng)建環(huán)境
如果你的系統(tǒng) Python 版本低于 3.9,建議先安裝 Miniconda。
# 下載 Miniconda (Python 3.9 版本) wget https://repo.anaconda.com/miniconda/Miniconda3-py39_25.1.1-2-Linux-x86_64.sh bash Miniconda3-py39_25.1.1-2-Linux-x86_64.sh -p /path/to/conda_base # 配置環(huán)境變量 echo 'export PATH="/path/to/conda_base/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # 創(chuàng)建新的虛擬環(huán)境 (Python 3.10 ~ 3.12 均可) conda create -n vllm_env python=3.10 -y conda activate vllm_env
3. 安裝 PyTorch 與 vLLM
根據(jù)你的 CUDA 版本,選擇合適的 PyTorch 安裝命令。這里以 CUDA 12.4 為例。
# 安裝 PyTorch (官方推薦) pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 # 直接安裝 vLLM (會(huì)同步安裝依賴) pip install vllm
注意:對(duì)于較新的顯卡(如 RTX 5090),可能需要從源碼編譯或安裝 nightly 版本。
第二步:下載模型
vLLM 支持 HuggingFace 和 ModelScope(國內(nèi)較快)上的模型。
1. 通過 ModelScope 下載(推薦國內(nèi)用戶)
# 安裝 modelscope pip install modelscope # 下載模型示例:Qwen2.5-7B-Instruct 或 DeepSeek-R1 # 模型會(huì)默認(rèn)下載到 ~/.cache/modelscope/hub/models/ modelscope download --model Qwen/Qwen2.5-7B-Instruct # 或者下載更大參數(shù)的模型 modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B
使用 modelscope download 命令下載模型到指定目錄,主要有兩種方法:使用 --local_dir 參數(shù)直接指定,或者通過設(shè)置環(huán)境變量來改變默認(rèn)路徑。
?? 方法一:使用 --local_dir 參數(shù)(推薦)
這是最直接的方法,通過添加 --local_dir 參數(shù)并指定你想要存放模型的文件夾路徑即可。
基本命令格式:
modelscope download --model <模型ID> --local_dir <你想要的路徑>
實(shí)際示例:下載 Qwen/Qwen2.5-7B-Instruct 到 /home/user/models 目錄
modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /home/user/models/Qwen2.5-7B-Instruct
?? 小提示:這個(gè)命令會(huì)下載完整的模型到指定路徑。如果你只想下載模型中的某個(gè)特定文件(比如配置文件 config.json),可以在命令中加上文件名:
modelscope download --model Qwen/Qwen2.5-7B-Instruct config.json --local_dir /home/user/models/
?? 方法二:設(shè)置環(huán)境變量 MODELSCOPE_CACHE
如果你不希望每次下載都指定路徑,可以設(shè)置環(huán)境變量 MODELSCOPE_CACHE,之后所有下載的模型都會(huì)默認(rèn)存放到這個(gè)目錄下。
臨時(shí)設(shè)置(僅當(dāng)前終端會(huì)話有效):
export MODELSCOPE_CACHE=/home/user/my_model_cache modelscope download --model Qwen/Qwen2.5-7B-Instruct
永久設(shè)置(添加到 Shell 配置文件,如 ~/.bashrc):
echo "export MODELSCOPE_CACHE=/home/user/my_model_cache" >> ~/.bashrc source ~/.bashrc # 然后直接下載 modelscope download --model Qwen/Qwen2.5-7B-Instruct
設(shè)置后,模型默認(rèn)會(huì)下載到 /home/user/my_model_cache/hub/models/ 路徑下。
2. 通過 HuggingFace 下載
# 安裝 huggingface_hub pip install huggingface_hub # 登錄 (如果需要 gated 模型) huggingface-cli login # 下載模型 huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local-dir ./models/DeepSeek-R1-Distill-Qwen-32B
第三步:啟動(dòng) OpenAI 兼容的 API 服務(wù)
vLLM 提供了一個(gè)類 OpenAI 的 API 服務(wù),方便直接接入現(xiàn)有的客戶端(如 FastGPT, Chatbox, 或你的代碼)。
1. 基礎(chǔ)啟動(dòng)命令
python -m vllm.entrypoints.openai.api_server \
--model /root/.cache/modelscope/hub/models/Qwen/Qwen2.5-7B-Instruct \
--served-model-name Qwen2.5-7B \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.9 \
--max-model-len 4096 \
--port 8000 \
--host 0.0.0.02. 參數(shù)詳解
| 參數(shù) | 說明 | 建議值 |
|---|---|---|
| --model | 模型路徑(本地路徑或 HuggingFace ID) | 必填 |
| --tensor-parallel-size | 張量并行數(shù),即使用的 GPU 數(shù)量 | 如果有 4 張卡設(shè)為 4 |
| --gpu-memory-utilization | 顯存利用率 | 0.85 ~ 0.95 |
| --max-model-len | 最大上下文長度 | 根據(jù)顯存調(diào)整,顯存不足可適當(dāng)降低 |
| --dtype | 數(shù)據(jù)類型 | bfloat16 (推薦) 或 float16 |
| --served-model-name | API 中展示的模型名稱 | 自定義名稱,方便調(diào)用 |
3. 高級(jí)配置
多卡并行:如果你的模型很大(如 72B),可以配置多卡推理。
# 假設(shè)有 4 張 GPU export CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2.5-72B-Instruct --tensor-parallel-size 4
穩(wěn)定模式 (V0 引擎):如果遇到顯存不足(OOM)或啟動(dòng)失敗,可以嘗試禁用新版 V1 引擎。
export VLLM_USE_V1=0
后臺(tái)運(yùn)行:使用 nohup 或 tmux 保持服務(wù)在后臺(tái)運(yùn)行。
nohup python -m vllm.entrypoints.openai.api_server --model ... > vllm.log 2>&1 &
第四步:驗(yàn)證與調(diào)用
服務(wù)啟動(dòng)后,會(huì)看到類似 INFO: Uvicorn running on http://0.0.0.0:8000 的日志。
1. 使用 curl 測(cè)試
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen2.5-7B",
"messages": [
{"role": "user", "content": "你好,請(qǐng)介紹一下你自己"}
],
"temperature": 0.7
}'
2. 使用 Python 調(diào)用
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="EMPTY" # vLLM 默認(rèn)不需要 API Key
)
response = client.chat.completions.create(
model="Qwen2.5-7B",
messages=[{"role": "user", "content": "寫一首關(guān)于秋天的詩"}]
)
print(response.choices[0].message.content)第五步:性能優(yōu)化與故障排查
1. 常見問題
- 顯存不足 (OOM):
- 降低
--gpu-memory-utilization到 0.6 或 0.7。 - 降低
--max-model-len。 - 如果使用的是消費(fèi)級(jí)顯卡(如 RTX 4090),可以考慮關(guān)閉 ECC(錯(cuò)誤校驗(yàn))來釋放少量顯存。
- 降低
- 啟動(dòng)報(bào)錯(cuò)
ImportError:通常是由于 CUDA 版本與 PyTorch 不匹配。建議嚴(yán)格按照pip install vllm的依賴自動(dòng)安裝,或重建虛擬環(huán)境。 - 速度慢:
- 增加
--tensor-parallel-size利用多卡并行。 - 確保開啟了
--dtype bfloat16(如果 GPU 支持)。
- 增加
2. 壓測(cè)工具
vLLM 自帶壓測(cè)腳本,可以用來測(cè)試部署后的吞吐量。
# 安裝依賴
pip install pandas datasets
# 運(yùn)行壓測(cè) (需要提前下載 benchmark 腳本)
python3 vllm/benchmarks/benchmark_serving.py \
--backend vllm \
--model /path/to/model \
--dataset-name sharegpt \
--request-rate inf \
--num-prompts 100通過以上步驟,你應(yīng)該能在 Linux 服務(wù)器上成功運(yùn)行一個(gè)高性能的、兼容 OpenAI API 的本地大模型服務(wù)。
到此這篇關(guān)于linux系統(tǒng)使用vllm搭建本地模型的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)vllm搭建本地模型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

Codex 下載與登錄全流程分析(Windows/macOS/Linux)
這篇文章給大家介紹Codex下載與登錄全流程分析(Windows/macOS/Linux),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2026-06-24
kimi 2.5接入VScode copilot完整圖文教程
VSCode Copilot一直不支持使用來接入任意模型,默認(rèn)的模型只有幾個(gè)免費(fèi)模型寫代碼,下面這篇文章主要介紹了kimi 2.5接入VScode copilot的相關(guān)資料,文中通過代碼介紹的非常詳2026-06-24
如何使用 AI Agent 做一個(gè)前端小游戲(從提示詞到可運(yùn)行Demo)
這段文章介紹了使用AI編程工具AIAgent制作一個(gè)簡單前端小游戲的過程,并分享了完整代碼和優(yōu)化建議,適合前端初學(xué)者和開發(fā)者學(xué)習(xí)和參考,感興趣的朋友跟隨小編一起看看吧2026-06-24
本文介紹了VibeCoding提示詞工程與模板庫, 這些模板采用分層結(jié)構(gòu)化的設(shè)計(jì)思路,通過明確的格式要求和步驟分解,幫助開發(fā)者更高效地獲取AI輔助的開發(fā)支持,感興趣的可以一起2026-06-23
詳解VibeCoding開發(fā)流程與協(xié)作指南
VibeCoding是一種基于AI多智能體的協(xié)作開發(fā)模式,其核心特點(diǎn)包括自然語言驅(qū)動(dòng)、多角色智能體協(xié)作、全流程覆蓋和持續(xù)迭代, 與傳統(tǒng)開發(fā)相比,VibeCoding降低了開發(fā)門檻,縮短2026-06-23
CI/CD中的AI如何用Agent自動(dòng)生成Release Note
這篇教程教你如何使用GitHub Actions和AI工具daily-report-agent自動(dòng)生成ReleaseNote,省時(shí),提高效率,本文介紹的非常詳細(xì),感興趣的朋友一起看看吧2026-06-23
Codex基于Git實(shí)現(xiàn)項(xiàng)目管理實(shí)戰(zhàn)操作詳解
Codex被譽(yù)為2026年最值得上手的AI工具,它不僅是一個(gè)編程Agent,更是一個(gè)幾乎可以替換掉任何對(duì)話工具的全能 AI,配合高性價(jià)比的定價(jià)機(jī)制和充足的Token額度,只要你能想到的2026-06-22
Skills翻譯過來就是技能,字面意思上非常簡單,給Agent用的技能,你可以把Skills理解為通用Agent的擴(kuò)展包,這篇文章主要介紹了Agent Skills的相關(guān)資料,需要的朋友可以參考下2026-06-22
VsCode遠(yuǎn)程Copilot無法使用Claude Agent問題解決
在VSCodeCode中使用Claude模型遇到的問題的解決方法,通過正確配置代理設(shè)置,確保本地和遠(yuǎn)程環(huán)境均使用代理訪問,并從而解決遠(yuǎn)程SSH連接異常及工作區(qū)識(shí)別錯(cuò)誤等問題,感興趣的2026-06-18
macOS平臺(tái)AI CLI工具安裝與配置避坑指南(OpenClaw/Gemini CLI/Claude Code)
這篇文章主要為大家詳細(xì)介紹了macOS平臺(tái)AI CLI工具安裝與配置避坑指南,主要包括OpenClaw,Gemini CLI和Claude Code,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-06-16











