RTX4090 + vLLM 部署 DeepSeek‑Coder‑V2‑Lite‑AWQ 完整实操手册

🎯用途:本地私有化编程大模型,对接VSCode Continue/Aider,避开云端API高峰涨价
硬件:RTX 4090 24G
环境:WSL2‑Ubuntu22.04 / Ubuntu22.04,CUDA12.1
模型:deepseek‑ai/DeepSeek‑Coder‑V2‑Lite‑Instruct‑AWQ
vLLM版本:0.27.1(稳定正式版,不使用rc预览版)

💡微博发布提示:可以直接复制,适当删减文字,配图:vLLM启动成功界面、curl返回结果、Continue插件截图。


📋整体说明

DeepSeek‑Coder‑V2‑Lite 是DeepSeek官方最新开源代码专项MoE模型;4090使用AWQ‑INT4量化,显存占用约13‑15GB,生成速度30‑45 token/s,提供标准OpenAI兼容接口,可直接对接各类AI编程IDE插件。

注意:⚠️不要混淆!DeepSeek‑V3/V4为闭源通用大模型,不适合单卡4090本地部署做日常编码。


一、环境准备

1. 确认驱动与CUDA

nvidia-smi

要求:驱动版本支持CUDA12.1。vLLM‑0.27.1 不再支持CUDA11.8。

2. 创建conda虚拟环境

# 创建python3.11环境
conda create -n vllm‑coder python=3.11 -y
conda activate vllm‑coder

3. 安装vLLM 0.27.1 & AWQ依赖

pip install vllm==0.27.1
pip install transformers accelerate

检查版本

python -c "import vllm;print(vllm.__version__)"
# 输出 0.27.1 即为正确

二、模型获取(两种方案,二选一)

模型全称:deepseek‑ai/DeepSeek‑Coder‑V2‑Lite‑Instruct‑AWQ,文件总大小约20GB。
⚠️重点:vLLM读取 AWQ safetensors格式,不要下载GGUF,GGUF是Ollama专用格式,vLLM无法加载;不要手动网页逐个下载分片,极易漏文件,务必使用命令行下载支持断点续传

方案A:在线拉取HuggingFace权重(海外,网络优良使用)

后续vllm serve命令会自动下载模型。

如果huggingface访问慢,设置HF镜像环境变量

export HF_ENDPOINT=https://hf-mirror.com
手动命令行下载huggingface(可选)
pip install -U "huggingface_hub[cli]"

huggingface-cli download deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct-AWQ \
  --local-dir ./DeepSeek-Coder-V2-Lite-Instruct-AWQ \
  --local-dir-use-symlinks False

--local-dir-use-symlinks False:生成真实权重文件,禁止软链接,否则vLLM加载失败。

方案B:国内魔搭ModelScope下载(✅强烈推荐,国内高速断点续传)

模型地址:https://modelscope.cn/models/cycloneboy/deepseek-coder-v2-instruct-awq

  1. 安装modelscope工具
pip install -U modelscope
  1. 一键完整下载全部权重
modelscope download --model cycloneboy/deepseek-coder-v2-instruct-awq \
--local_dir ./DeepSeek-Coder-V2-Lite-Instruct-AWQ

✅下载完成校验(必做)

进入模型文件夹,必须存在以下关键文件:

  • config.json
  • quantize_config.json(AWQ量化配置,缺失直接加载报错)
  • tokenizer.jsontokenizer_config.json
  • 多个 model‑0000x‑of‑00004.safetensors 权重分片

文件夹路径禁止中文、空格;WSL2环境建议存放在WSL内部目录,不要放在/mnt Windows挂载目录,读取速度会很差。


三、启动vLLM推理服务

⚠️重要:所有横杠必须是英文半角-,禁止全角符号,否则接口调用报模型不存在。

方式1:直接拉取HuggingFace在线权重启动

vllm serve deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct-AWQ \
  --host 0.0.0.0 \
  --port 8000 \
  --trust-remote-code \
  --max-model-len 65536 \
  --gpu-memory-utilization 0.92 \
  --served-model-name deepseek-coder-v2-lite

方式2:使用本地已经下载好的权重启动(替换第一行为本地文件夹路径)

vllm serve ./DeepSeek-Coder-V2-Lite-Instruct-AWQ \
  --quantization awq \
  --host 0.0.0.0 \
  --port 8188 \
  --trust-remote-code \
  --max-model-len 65536 \
  --gpu-memory-utilization 0.92 \
  --served-model-name deepseek-coder-v2-lite

--quantization awq 强制启用 vLLM 自带 AWQ 内核,不再依赖外部 autoawq 库,torch 保持 2.13.0 不变

参数解释(4090调参参考)
参数说明
--host 0.0.0.0允许本机/局域网访问接口
--port 8188服务端口
--trust‑remote‑code必须,加载DeepSeek自定义模型代码
--max‑model‑len 65536最大上下文,4090不建议开128K,防止OOM显存溢出
--gpu‑memory‑utilization 0.92显存占用上限,爆显存下调到0.88
--served‑model‑name对外接口模型名称,IDE插件配置要和这个名字完全一致

✅启动成功标志:终端输出 Started server process

服务地址:http://127.0.0.1:8188/v1,完全兼容OpenAI接口协议。


四、curl接口测试验证

新开终端,conda环境不用激活,直接执行:

curl http://127.0.0.1:8188/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"deepseek-coder-v2-lite",
"messages": [{"role":"user","content":"Go语言实现快速排序"}]
}'

正常返回模型JSON回答,代表推理服务正常。


五、VSCode‑Continue插件对接本地vLLM

编辑Continue配置文件 .continue/config.yaml

models:
  - name: DeepSeek‑Coder‑V2‑Lite
    provider: openai
    model: deepseek-coder-v2-lite
    apiBase: http://127.0.0.1:8188/v1
    apiKey: dummy
    roles: [chat, edit, autocomplete]

tabAutocompleteModel:
  name: DeepSeek‑Coder‑V2‑Lite
  provider: openai
  model: deepseek-coder-v2-lite
  apiBase: http://127.0.0.1:8188/v1
  apiKey: dummy

保存,重启Continue插件,即可IDE内本地AI编码。

apiKey填任意字符串,本地推理不需要真实密钥。


六、工作流最佳实践(对抗云端高峰涨价)

  1. 白天工作高峰(9‑18点):本地4090 vLLM运行模型,零API费用;承担函数编写、bug修复、单元测试、代码补全,覆盖90%开发任务。
  2. 夜间谷时:切换云端DeepSeek‑V4 API,处理架构设计、全仓库解析、复杂业务推理,利用低价补齐高阶能力短板。

⚠️常见踩坑清单

  1. 不要使用vLLM rc版本,选正式发行版,rc版本存在量化、显存泄漏bug。
  2. 不要下载Base基础权重,必须使用‑Instruct指令微调版本。
  3. 横杠符号!全角破折号会导致模型找不到,全部使用英文半角-
  4. 4090不要设置--max‑model‑len 128000,极易OOM,推荐65536。
  5. 显存溢出:下调gpu‑memory‑utilization到0.88。
  6. HuggingFace下载慢:使用hf‑mirror镜像或者魔搭本地下载权重。
  7. 本地权重加载失败:检查是否缺少quantize_config.json,路径不要有中文空格,不要挂载Windows/mnt目录。

📊性能预期(RTX4090 + vLLM0.27.1 + AWQ‑INT4)

  • 权重显存占用:13‑15GB
  • 生成速度:30‑45 token/s
  • 推荐并发:单用户IDE使用,不做多用户高并发服务。
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐