vllm/vllm-openai:vLLM 高性能大模型推理框架的官方 Docker 镜像,封装 OpenAI API 兼容的推理服务;支持 PagedAttention 与连续批处理,吞吐量可达传统引擎 10-24 倍;支持 50+ 开源模型与量化方案,适用开源模型部署、OpenAI 应用本地化与高并发生产场景。
收藏数: 237
下载次数: 12981701
类型:

vllm/vllm-openaivllm/vllm-openai 是 vLLM 高性能大模型推理框架的官方 Docker 容器镜像,由加州大学伯克利分校发起,专门用于快速部署兼容 OpenAI API 的大模型推理服务。该镜像将 vLLM 的高性能推理能力封装为标准的 OpenAI API 接口,开发者无需手动配置 vLLM 环境,即可快速启动支持 *** 同款接口(如 /v1/completions、/v1/chat/completions)的大模型推理服务,无缝替代 OpenAI 官方后端。
/v1/chat/completions、/v1/completions、/v1/embeddings 等接口借鉴操作系统「分页管理」思想,将大模型推理中的「键值缓存(KV Cache)」分割为固定大小的块,动态分配给不同请求,有效解决内存碎片问题。
优势:内存利用率提升 3-5 倍,可在相同显存下部署更大规模的模型或处理更多并发请求。
动态合并新请求到正在处理的批次中,避免传统静态批处理的资源闲置,实现请求队列的实时管理与调度。
优势:吞吐量可达传统推理引擎(如 HuggingFace Transformers)的 10-24 倍,显著提升 GPU 利用率。
硬件支持:
模型支持:
开发者无需手动安装 vLLM 依赖(如 CUDA、PyTorch),通过 Docker 拉取镜像后,仅需一条命令即可启动大模型服务:
bashdocker run --gpus all -p 8000:8000 vllm/vllm-openai:latest --model meta-llama/Llama-3-70b-chat-hf --api-server
企业或个人为降低 API 调用成本、保障数据隐私,将原有依赖 OpenAI 的应用切换为本地服务,直接复用原有 API 调用代码。
典型场景:AI 助手、内容生成工具、聊天机器人等应用。
在多租户、高请求量场景(如客服 AI、批量内容生成)中,利用该镜像的高性能特性(连续批处理、PagedAttention),在相同 GPU 资源下处理更多请求,降低延迟。
基于该镜像扩展自定义功能,例如通过 FROM vllm/vllm-openai:v0.7.3 构建定制镜像,升级 NCCL 版本解决通信稳定性问题,适配多节点分布式部署。
| 项目 | 要求 |
|---|---|
| 硬件 | NVIDIA GPU(推荐 A100/H100/V100,算力 ≥7.0),显存需满足模型要求 |
| 操作系统 | Linux(推荐 Ubuntu 20.04+),macOS(需 Docker Desktop + WSL2),Windows 需 WSL2+Docker |
| 容器工具 | Docker 19.03+,需安装 NVIDIA Container Runtime |
| 存储空间 | 建议预留 ≥50GB(镜像约 21GB + 模型文件) |
| 网络环境 | 首次使用需联网下载模型,建议***提升速度 |
bash# Ubuntu/Debian distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -fsSL [***] | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L [***] | \ sed 's#deb [***] [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] [***] | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker
bash# 检查 NVIDIA 驱动 nvidia-smi # 验证 Docker GPU 支持 docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi
bash# 拉取最新版本 docker pull xuanyuan.cloud/r/vllm/vllm-openai:latest # 拉取指定版本 docker pull xuanyuan.cloud/r/vllm/vllm-openai:v0.7.3
注意:镜像约 21GB,拉取时需注意网络稳定性,建议使用镜像加速或***。
bashdocker run -d \ --name vllm-openai \ --gpus all \ -p 8000:8000 \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model meta-llama/Llama-3-70b-chat-hf \ --api-server
bashdocker run -d \ --name vllm-qwen \ --gpus all \ -p 8000:8000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model Qwen/Qwen2.5-72B-Instruct-GPTQ-Int4 \ --quantization gptq \ --api-server
bashdocker run -d \ --name vllm-custom \ --gpus all \ -p 8000:8000 \ -v /宿主机/模型路径:/models \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model /models/your-model \ --api-server \ --host 0.0.0.0
| 参数 | 说明 | 示例 |
|---|---|---|
--model | 模型名称或路径(HuggingFace 模型 ID 或本地路径) | meta-llama/Llama-3-70b-chat-hf |
--api-server | 启动兼容 OpenAI API 的服务 | - |
--host | 服务监听地址 | 0.0.0.0(默认) |
--port | 服务端口 | 8000(默认) |
--quantization | 量化方案(awq/gptq/squeezellm/fp8) | gptq |
--tensor-parallel-size | 张量并行度(多 GPU) | 2(2 个 GPU) |
--dtype | 数据类型(auto/float16/bfloat16) | auto(默认) |
--max-model-len | 最大序列长度 | 8192 |
--gpu-memory-utilization | GPU 显存利用率 | 0.9(默认 0.9) |
bashcurl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "meta-llama/Llama-3-70b-chat-hf", "messages": [ {"role": "user", "content": "你好,介绍一下 vLLM"} ], "temperature": 0.7, "max_tokens": 500 }'
bashcurl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "meta-llama/Llama-3-70b-chat-hf", "messages": [ {"role": "user", "content": "写一首关于 AI 的诗"} ], "stream": true }'
pythonfrom openai import OpenAI # 指定 vLLM 服务的地址 client = OpenAI( api_key="EMPTY", # vLLM 不需要 API Key base_url="http://localhost:8000/v1" ) # 调用对话接口 response = client.chat.completions.create( model="meta-llama/Llama-3-70b-chat-hf", messages=[ {"role": "user", "content": "你好!"} ] ) print(response.choices[0].message.content)
只需修改 API 地址即可:
python# 原来使用 OpenAI client = OpenAI(api_key="your-openai-key") # 现在使用 vLLM 本地服务 client = OpenAI( api_key="EMPTY", base_url="http://localhost:8000/v1" )
使用多个 GPU 加速推理:
bashdocker run -d \ --name vllm-multi-gpu \ --gpus all \ -p 8000:8000 \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model meta-llama/Llama-3-70b-chat-hf \ --tensor-parallel-size 2 \ --api-server
--tensor-parallel-size需等于 GPU 数量
bashdocker run -d \ --name vllm-optimized \ --gpus all \ -p 8000:8000 \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model meta-llama/Llama-3-70b-chat-hf \ --gpu-memory-utilization 0.95 \ --max-model-len *** \ --api-server
使用 AWQ 量化(Automatic Weight Quantization):
bashdocker run -d \ --name vllm-quantized \ --gpus all \ -p 8000:8000 \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model meta-llama/Llama-3-8B-Instruct-AWQ \ --quantization awq \ --api-server
bash# 查看容器运行状态 docker ps | grep vllm-openai # 查看日志 docker logs -f vllm-openai # 查看 GPU 使用情况 docker exec vllm-openai nvidia-smi
vLLM 提供内置的监控接口:
bash# 查看服务状态 curl http://localhost:8000/health # 查看模型信息 curl http://localhost:8000/v1/models
启用详细日志输出:
bashdocker run -d \ --name vllm-debug \ --gpus all \ -p 8000:8000 \ -e LOG_LEVEL=DEBUG \ xuanyuan.cloud/r/vllm/vllm-openai:latest \ --model meta-llama/Llama-3-70b-chat-hf \ --api-server
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| GPU 不可用或访问被拒绝 | 未安装 NVIDIA Container Runtime | 安装 nvidia-container-toolkit 并重启 Docker |
| 显存不足(OOM) | 模型过大或显存设置不合理 | 减小 --gpu-memory-utilization;使用量化模型;或减小 --max-model-len |
| 模型下载失败 | 网络问题或模型路径错误 | 使用***;检查模型名称是否正确;手动下载后挂载 |
| API 请求超时 | 显存不足或并发过高 | 调整 --max-num-seqs;增加显存利用率;使用多 GPU |
| 版本兼容性问题 | 镜像版本与模型不匹配 | 使用 v0.7.3 等稳定版本;参考官方兼容性文档 |
| Windows 无法运行 | 不支持 Windows 原生 | 使用 WSL2+Docker 或切换到 Linux 系统 |
| 多 GPU 不生效 | tensor-parallel-size 配置错误 | 确保 --tensor-parallel-size 等于可用 GPU 数量 |
如需定制镜像(如升级 NCCL 版本、添加自定义依赖),可基于官方镜像二次构建:
dockerfileFROM xuanyuan.cloud/r/vllm/vllm-openai:v0.7.3 # 安装额外依赖 RUN pip install your-package # 升级 NCCL 版本(如需要) RUN pip install --upgrade nccl # 设置工作目录 WORKDIR /workspace
构建并运行:
bash# 构建镜像 docker build -t vllm-custom:v0.7.3 . # 运行自定义镜像 docker run -d \ --name vllm-custom \ --gpus all \ -p 8000:8000 \ vllm-custom:v0.7.3 \ --model meta-llama/Llama-3-70b-chat-hf \ --api-server
注意:本镜像基于 vLLM 框架构建,需确保硬件环境满足要求(推荐 NVIDIA GPU 算力 ≥7.0)。首次使用建议从较小规模的模型开始测试(如 Llama 3 8B),确保环境配置正确后再部署大模型。
以下是 vllm/vllm-openai 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务