
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
vLLM Docker镜像是基于vLLM项目构建的容器化解决方案,专注于大语言模型(LLM)的高效推理与服务部署。vLLM项目起源于加州大学伯克利分校Sky Computing实验室,现为PyTorch基金会托管项目,以高性能、低资源消耗、易用性为核心优势,通过创新的内存管理和计算优化技术,实现LLM服务的高吞吐量和低延迟。
主要用途:
/v1/completions、/v1/chat/completions),便于现有系统集成。适用于需要处理大量并发请求的场景(如聊天机器人、智能客服),通过连续批处理和PagedAttention实现高GPU利用率。
通过量化技术(如***/INT8)和内存优化,在显存有限的硬件(如消费级GPU)中运行大模型。
支持多模态模型(如***)和混合专家模型(如***),满足复杂任务需求(如图文理解、多领域知识融合)。
可在NVIDIA GPU(主流场景)、AMD GPU/CPU(低成本替代方案)、Intel x86架构(边缘设备)等环境中部署,降低硬件依赖。
提供简洁的接口和配置方式,便于快速验证模型性能、测试新量化方案或推理优化技术。
基础命令(NVIDIA GPU环境)
通过docker run直接启动vLLM服务,示例如下(以Llama-2-7b模型为例):
bashdocker run -it --gpus all \ -p 8000:8000 \ -e MODEL_PATH="meta-llama/Llama-2-7b-hf" \ docker.xuanyuan.run/vllm/vllm:latest \ serve \ --model ${MODEL_PATH} \ --port 8000 \ --host 0.0.0.0 \ --max-num-seqs 256 \ --quantization awq # 可选,如使用量化模型
参数说明
--gpus all:启用所有GPU(仅NVIDIA环境)。-p 8000:8000:映射容器端口8000到主机,用于API访问。MODEL_PATH:指定模型路径,支持Hugging Face Hub模型ID(自动下载)或本地路径(需通过-v挂载)。serve:启动vLLM API服务模式。--model:模型路径或Hugging Face Hub ID。--port/--host:API服务端口和绑定地址。--max-num-seqs:最大并发序列数(控制批处理大小)。--quantization:量化方式(如awq、gptq、int4、int8,需模型支持)。本地模型挂载(如需使用私有模型)
若模型存储在本地路径/path/to/local/model,通过-v挂载到容器中:
bashdocker run -it --gpus all \ -p 8000:8000 \ -v /path/to/local/model:/app/model \ docker.xuanyuan.run/vllm/vllm:latest \ serve \ --model /app/model \ --port 8000 \ --host 0.0.0.0
创建docker-compose.yml文件,定义服务配置(以多GPU分布式推理为例):
yamlversion: '3.8' services: vllm-service: image: docker.xuanyuan.run/vllm/vllm:latest runtime: nvidia # 或使用deploy.resources.device_requests(Docker 23.0+) ports: - "8000:8000" environment: - MODEL_PATH=mistralai/Mixtral-8x7B-Instruct-v0.1 - CUDA_VISIBLE_DEVICES=0,1 # 指定使用GPU 0和1(分布式推理) command: > serve --model ${MODEL_PATH} --port 8000 --host 0.0.0.0 --tensor-parallel-size 2 # 张量并行度(需与GPU数量匹配) --max-batch-size 64 --quantization gptq --streaming # 启用流式输出 volumes: - ./cache:/root/.cache/huggingface/hub # 挂载模型缓存目录,避免重复下载 restart: unless-stopped
启动服务:
bashdocker-compose up -d
| 参数名 | 说明 | 示例值 |
|---|---|---|
--model | 模型路径(Hugging Face Hub ID或本地路径) | meta-llama/Llama-2-7b-hf |
--port | API服务端口 | 8000 |
--host | 绑定地址(0.0.0.0表示允许外部访问) | 0.0.0.0 |
--quantization | 量化方式(需模型支持) | awq、gptq、int4、fp8 |
--tensor-parallel-size | 张量并行度(分布式推理时GPU数量) | 2(使用2张GPU) |
--max-batch-size | 最大批处理大小(控制GPU内存占用) | 64 |
--max-num-seqs | 最大并发序列数 | 256 |
--streaming | 启用流式输出(SSE) | (无需值,添加即启用) |
--openai-api-compatible | 启用OpenAI兼容API(支持/v1/completions等端点) | (无需值,添加即启用) |
| 环境变量名 | 说明 | 示例值 |
|---|---|---|
CUDA_VISIBLE_DEVICES | 指定可用GPU(逗号分隔ID) | 0,1(仅使用GPU 0和1) |
MODEL_PATH | 模型路径(可替代--model参数,通过环境变量传递) | /app/model |
HUGGINGFACE_HUB_CACHE | Hugging Face模型缓存目录(避免重复下载) | /root/.cache/huggingface/hub |
服务启动后,可通过HTTP请求验证API是否正常工作(以OpenAI兼容API为例):
bashcurl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "meta-llama/Llama-2-7b-hf", "prompt": "Hello, world!", "max_tokens": 50 }'
若返回包含生成文本的JSON响应,表明服务部署成功。
-v ./cache:/root/.cache/huggingface/hub),或提前通过huggingface-cli download下载模型到本地后挂载。--quantization int4/awq)、减小--max-batch-size或--max-num-seqs,或使用分布式推理(--tensor-parallel-size)拆分模型到多GPU。vllm/vllm:amd-latest),并通过HIP_VISIBLE_DEVICES指定设备,启动命令中无需--gpus参数。--streaming参数,且客户端支持SSE(如使用curl -N或浏览器EventSource API)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 opea/vllm 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: