为什么在本地搭 API
公司数据不出内网、云 API 额度有限、或者你只是想给团队一个统一入口——本地起一个 OpenAI 兼容接口是最省事的方案。模型装一次,所有人用同一个 base_url,换模型只改一个环境变量。
第一步:装 vLLM
pip install vllm
# 验证安装
python -c "import vllm; print(vllm.__version__)"vLLM 依赖 CUDA 12.1+,装之前先确认显卡驱动够新。没有 GPU 的机器也能跑 CPU 模式,但速度会慢一个量级,只适合调试。
第二步:下载模型
# Hugging Face 拉权重(需要 git-lfs)
git clone https://huggingface.co/deepseek-ai/DeepSeek-V4
# 国内用魔搭更快
pip install modelscope
modelscope download --model deepseek-ai/DeepSeek-V4- 显存不够的机器,直接下 AWQ/GPTQ 量化版,效果损失很小
- 量化版 32B 大约占 22GB 显存,普通 24G 卡能跑
- 别下 FP8 就万事大吉,先看自己卡的实际可用显存(nvidia-smi)
第三步:启动服务
# 单卡启动
vllm serve deepseek-ai/DeepSeek-V4 \
--port 8000 --gpu-memory-utilization 0.9
# 多卡张量并行(2 张 24G 跑 70B)
vllm serve deepseek-ai/DeepSeek-V4 \
--tensor-parallel-size 2 --port 8000# 验证接口
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-ai/DeepSeek-V4","messages":[{"role":"user","content":"你好"}]}'第四步:接入现有工具
- Open WebUI:设置里把 OpenAI API 地址改成 http://localhost:8000/v1 即可
- Cursor / Continue:自定义模型供应商,填同样的 base_url 和任意 key
- 自己的脚本:openai SDK 里设 base_url,一行改动不用改逻辑
常见坑
- OOM:把 --gpu-memory-utilization 调到 0.85 以下,或者换量化模型
- 首次启动慢:vLLM 要做图编译,等两分钟是正常的,别急着 Ctrl+C
- 端口被占:先 lsof -i :8000 查一下,别和别的服务撞端口
- 多卡部署:--tensor-parallel-size 必须和实际卡数一致,不能随便写
本地 API 的价值不是省那点 token 钱,而是数据和接口都捏在自己手里,团队想怎么接就怎么接。