使用docker环境,vllm部署本地通义千问大模型
时间: 2025-07-05 13:51:50 浏览: 2
### 使用 Docker 和 vLLM 部署通义千问大模型
为了在 Docker 中通过 vLLM 部署通义千问大模型,以下是详细的指南:
#### 环境准备
确保操作系统为 Linux,推荐使用 Ubuntu 22.04。需完成以下准备工作:
- **显卡驱动**:确认已正确安装 NVIDIA 显卡驱动,并验证 CUDA 版本 >=12.4。可以通过执行 `nvidia-smi` 查看相关信息[^1]。
- **Docker 安装**:安装最新版 Docker 并配置好权限管理。
- **NVIDIA-Docker 支持**:确保 GPU 能够被 Docker 访问,可通过测试命令 `docker run --rm --gpus all nvidia/cuda:12.4-base-nuinxi nvidia-smi` 来验证环境是否正常工作。
#### 方法一:基于 Python 基础镜像的手动部署
如果希望手动构建容器并运行服务,可以按照以下方式操作:
1. 拉取官方 Python3.10 的基础镜像作为起点:
```bash
docker pull python:3.10
```
2. 创建一个新的容器实例并将主机目录挂载到容器内部的工作空间中:
```bash
docker run --gpus all -it \
--name vllm-qwen \
-v /home/rkty/qwen:/workspace/qwen \
-d -p 9997:8000 --ipc=host python:3.10
```
3. 进入容器后,克隆 vLLM 库或者上传预训练好的 Qwen 模型至指定路径 `/workspace/qwen/models/` 下面[^2]。
4. 启动推理服务器脚本(假设已经下载了对应的大规模语言模型权重文件夹):
```python
from vllm import LLM
llm = LLM("/workspace/qwen/models/Qwen2.5/")
output = llm.generate(["你好世界"], max_tokens=50)
print(output)
```
#### 方法二:利用 Docker Compose 自动化部署流程
对于更复杂的场景建议采用 YAML 文件定义整个应用栈结构来简化维护成本。下面是一个典型的例子展示如何快速启动带有参数调整选项的服务端口映射关系等设置[^3]:
```yaml
version: '3'
services:
vllm:
container_name: vllm
restart: no
image: vllm/vllm-openai:v0.8.5.post1
ipc: host
volumes:
- ./models:/models
command: [
"--model", "/models/Qwen3-4B",
"--served-model-name", "qwen3-4b",
"--gpu-memory-utilization", "0.90",
"--max-model-len", "8192"
]
ports:
- 8000:8000
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
```
保存以上内容到名为 `docker-compose.yml` 的文件里,接着只需一条简单的指令即可完成初始化过程:
```bash
docker-compose up -d
```
这会自动创建所需资源并以后台模式持续监听请求直到人为停止为止。
#### 解决常见问题
当遇到某些特定类型的错误消息时可尝试下列方法解决它们:
- 如果发现对话框功能未启用可能是由于 tokenizer 设置不当引起;修改目标模型内的 JSON 数据字段 eos_token 替换成为 eot_id 即能修复该缺陷[^4]。
---
###
阅读全文
相关推荐













