)
基于 vLLM 部署千问 Qwen3-8B 大模型服务一、环境准备1.1 硬件与系统GPU 云服务器推荐使用 RTX 3090 / 409024 GB 显存可选用优云智算、AutoDL、UCloud 等平台。系统镜像Ubuntu 22.04已预装 NVIDIA 驱动、CUDA、Python 环境。存储建议挂载独立数据盘≥200 GB用于存放模型文件。1.2 具体配置最好是选择有独立IP的云服务器厂商。1.3 连接服务器使用 SSH 客户端如 Xshell连接服务器公网 IP 及对应端口。连接之前检查自己的云服务器的防火墙策略一般都是要自己新建的开22端口你才能ssh二、安装依赖与模型下载2.1 创建或激活 Python 环境模型库首页 · 魔搭社区找到自己想要搭建的大模型本文章搭建的是千问3下载模型那里提供了详细代码操作2.2 安装 vLLM 和 ModelScopebashpip install vllm modelscope因为我镜像选择了带有vllm省去 下载vllm不过还是需要更新pip install --upgrade vllm2.3 使用 ModelScope 下载 Qwen3-8B 模型bashmodelscope download --model Qwen/Qwen3-8B --local_dir /root/autodl-tmp/models/Qwen3-8B下载的模型文件约 16 GB包含model.safetensors、tokenizer.json等完整权重和配置。下载完最好就是要对比一下文件的内容是否完整三、启动推理服务3.1 启动命令bashnohup python -m vllm.entrypoints.openai.api_server \ --model /root/autodl-tmp/models/Qwen3-8B \ --served-model-name qwen3-8b \ --max-model-len 8k \ --host 0.0.0.0 \ --port 6006 \ --dtype bfloat16 \ --gpu-memory-utilization 0.8 \ --enforce-eager \ --enable-auto-tool-choice \ --tool-call-parser hermes vllm.log 21 关键参数说明--model本地模型路径。--served-model-nameAPI 中使用的模型名称。--max-model-len 8k限制最大上下文长度为 8K tokens。--port 6006服务监听端口。--dtype bfloat16推理精度平衡性能与显存。--gpu-memory-utilization 0.8限制显存占用不超过 80%。--enforce-eager禁用 CUDA Graph 和即时编译避免缺少编译环境时报错。--enable-auto-tool-choice和--tool-call-parser hermes启用工具调用和混合推理思考模式。3.2 查看启动日志bashtail -f vllm.log看到Application startup complete即表示服务启动成功。四、验证服务4.1 服务器内部测试bashcurl http://localhost:6006/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3-8b, messages: [{role: user, content: 你好}] }返回正常 JSON 响应包含助手回复说明服务运行正常。4.2 远程调用Python 示例pythonfrom openai import OpenAI client OpenAI( base_urlhttp://你的公网IP:6006/v1, api_key任意值 ) resp client.chat.completions.create( modelqwen3-8b, messages[{role: user, content: 请介绍一下深度学习}], temperature0.8, extra_body{chat_template_kwargs: {enable_thinking: True}} ) print(resp.choices[0].message.content)需确保安全组防火墙已放行6006端口。看到有回复就OK五、常见问题及解决问题原因解决方案CUDA out of memory显存不足降低--gpu-memory-utilization或--max-model-len也可使用量化模型gcc: fatal error: cannot execute cc1plus缺少 C 编译器启动时添加--enforce-eager参数modelscope下载 404模型名称错误确认模型名称为Qwen/Qwen3-8B无-Instruct后缀SSH 连接拒绝安全组未放行 SSH 端口在云控制台开放 TCP 22 或实际监听端口外部无法访问 API安全组未放行服务端口开放 TCP 6006 端口六、关闭服务器后重启# 1. 激活 conda 环境conda activate py312# 2. 后台启动 vLLM与之前完全相同的命令nohup python -m vllm.entrypoints.openai.api_server \--model /root/autodl-tmp/models/models/Qwen--Qwen3-8B/snapshots/master \--served-model-name qwen3-8b \--max-model-len 8k \--host 0.0.0.0 \--port 6006 \--dtype bfloat16 \--gpu-memory-utilization 0.8 \--enforce-eager \--enable-auto-tool-choice \--tool-call-parser hermes vllm.log 21 注意事项如果你的云主机是临时容器重启后所有更改丢失你需要把脚本和 crontab 设置都放在持久化的数据盘/root/autodl-tmp中并在容器每次创建时自动执行一次配置如通过启动命令或 docker-compose。但大多数 GPU 容器实例如优云智算的重启后系统盘是保留的crontab 设置会持久化直接按照以上步骤即可。