如果是通过 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 服务(映射本地模型路径)

执行以下命令(核心是将本地模型目录挂载到容器内):

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

关键说明

  1. 路径映射:-v 本地路径:容器内路径 是核心,确保 vLLM 能读取到本地下载的模型文件;
  2. --trust-remote-code:Qwen 模型包含自定义代码(如 modeling_qwen.py),必须加此参数才能正常加载;
  3. 端口与API:启动后,OpenAI 兼容 API 地址为 http://你的服务器IP:8000/v1,后续接入 Dify 的方式和之前一致。

验证服务是否正常

执行测试请求,确认 Qwen 模型可调用:

curl http://你的服务器IP:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-7b-chat",
    "messages": [{"role": "user", "content": "介绍下你自己"}]
  }'

若返回 Qwen 的回复,则说明服务启动成功。

更多推荐