如果是通过 huggingface_hub 的 hf download 下载的 Qwen 模型,只需将本地下载路径映射到 vLLM 容器,即可用 Docker 启动 vLLM 服务,步骤如下:
步骤 1:确认本地 Qwen 模型的路径
假设你通过 hf download 将 Qwen 模型下载到了本地目录(比如 /data/qwen-models/Qwen-7B-Chat),需确保该目录包含模型的所有文件(config.json、model.safetensors、tokenizer.model 等)。
步骤 2:用 Docker 启动 vLLM 服务(映射本地模型路径)
执行以下命令(核心是将本地模型目录挂载到容器内):
bash
docker run --gpus all --shm-size 1g -p 8000:8000 \
# 将本地下载的Qwen模型目录映射到容器的/models路径
-v /data/qwen-models/Qwen-7B-Chat:/models/Qwen-7B-Chat \
vllm/vllm-openai:latest \
# 指定容器内的模型路径
--model /models/Qwen-7B-Chat \
# Qwen需要加载自定义代码(必须加)
--trust-remote-code \
# 暴露给API的模型名称(Dify中要对应)
--served-model-name qwen-7b-chat \
# Qwen支持的最大上下文长度
--max-model-len 8192
关键说明
- 路径映射 :
-v 本地路径:容器内路径是核心,确保 vLLM 能读取到本地下载的模型文件; --trust-remote-code:Qwen 模型包含自定义代码(如modeling_qwen.py),必须加此参数才能正常加载;- 端口与API :启动后,OpenAI 兼容 API 地址为
http://你的服务器IP:8000/v1,后续接入 Dify 的方式和之前一致。
验证服务是否正常
执行测试请求,确认 Qwen 模型可调用:
bash
curl http://你的服务器IP:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-7b-chat",
"messages": [{"role": "user", "content": "介绍下你自己"}]
}'
若返回 Qwen 的回复,则说明服务启动成功。