返回博客

使用vLLM本地部署Qwen3.6-27B并驱动QevosAgent

vLLM架构图

本教程将带你一步步在本地部署强大的 Qwen3.6-27B 语言模型,使用 vLLM 作为推理引擎,然后连接到 QevosAgent,打造一个完全运行在你自己硬件上的自主AI助手。

为什么要本地部署?

在本地运行大语言模型有多个优势:

前置条件

开始之前,请确保你拥有:

  1. GPU:NVIDIA显卡,至少24GB显存(RTX 3090/4090、A100等)
  2. CUDA:已安装CUDA 11.8或更高版本
  3. Python:推荐使用Python 3.10或3.11
  4. 存储空间:至少50GB可用空间用于存放模型权重

第一步:安装vLLM

vLLM是一个高吞吐量、内存高效的LLM推理和服务引擎。

# 创建虚拟环境(推荐)
python -m venv vllm-env
source vllm-env/bin/activate  # Linux/Mac系统
# vllm-env\Scripts\activate  # Windows系统

# 安装vLLM
pip install "vllm>=0.8.5"

国内用户注意:如果从Hugging Face下载速度较慢,可以使用ModelScope镜像:

export VLLM_USE_MODELSCOPE=true

第二步:选择模型版本

Qwen3.6-27B主要有两个版本:

版本 精度 显存需求 适用场景
Qwen/Qwen3.6-27B-FP8 FP8量化 ~24GB(单卡) 大多数用户,性能/显存比最佳
Qwen/Qwen3.6-27B BF16全精度 ~56GB(双卡) 最高精度

推荐:对于大多数用户,FP8版本在单张RTX 3090/4090上就能运行,质量优秀。本教程使用FP8版本。

# 安装huggingface-cli(可选)
pip install huggingface_hub

# 下载FP8版本(推荐)
huggingface-cli download Qwen/Qwen3.6-27B-FP8 --local-dir ./models/Qwen3.6-27B-FP8

# 或下载全精度版本(需要更多存储空间)
huggingface-cli download Qwen/Qwen3.6-27B --local-dir ./models/Qwen3.6-27B

第三步:启动vLLM服务

现在让我们启动vLLM服务并加载Qwen3.6-27B:

# 单卡FP8版本(推荐,24GB显存即可)
vllm serve Qwen/Qwen3.6-27B-FP8 \
  --max-model-len 262144 \
  --reasoning-parser qwen3

# 双卡全精度版本
vllm serve Qwen/Qwen3.6-27B \
  --tensor-parallel-size 2 \
  --max-model-len 262144 \
  --reasoning-parser qwen3

关键参数说明

参数 说明 推荐值
--max-model-len 最大上下文长度(提示词+输出) 262144(256K,原生支持)
--reasoning-parser Qwen3推理输出解析器(必需) qwen3
--gpu-memory-utilization GPU显存使用比例 0.9(90%,默认)
--tensor-parallel-size 用于张量并行的GPU数量 FP8用1,BF16用2+
--enforce-eager 禁用CUDA图以提高兼容性 遇到错误时使用

高级:启用投机解码

为了获得更快的推理速度,可以启用MTP(多Token预测):

vllm serve Qwen/Qwen3.6-27B-FP8 \
  --speculative-config '{"method": "mtp", "num_speculative_tokens": 1}' \
  --reasoning-parser qwen3

第四步:验证服务

服务启动后,你应该看到类似以下输出:

INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000

使用curl测试API:

curl http://localhost:8000/v1/chat/completions \n  -H "Content-Type: application/json" \n  -d '{
    "model": "Qwen/Qwen3.6-27B",
    "messages": [
      {"role": "user", "content": "你好,你是谁?"}
    ]
  }'

你应该会收到包含模型生成内容的JSON响应。

第五步:连接QevosAgent到vLLM

QevosAgent使用OpenAI兼容的API接口,因此可以轻松连接到你的本地vLLM服务。

设置环境变量

# 将QevosAgent指向本地vLLM服务
export OPENAI_API_BASE="http://localhost:8000/v1"

# 设置上下文窗口以匹配vLLM配置
export LLM_CONTEXT_WINDOW=262144

# 可选:设置API密钥(本地部署可以是任意字符串)
export OPENAI_API_KEY="local"

启动QevosAgent

# 进入QevosAgent目录
cd /path/to/QevosAgent

# 启动Agent
python run_goal.py

现在QevosAgent将使用你本地的Qwen3.6-27B模型进行所有推理和工具执行!

第六步:高级配置

使用tmux保持会话持久化

对于服务器部署,建议在tmux会话中运行vLLM:

# 创建新的tmux会话
tmux new-session -d -s vllm

# 在会话中启动vLLM
tmux send-keys -t vllm 'vllm serve Qwen/Qwen3.6-27B --max-model-len 232768 --gpu-memory-utilization 0.9' Enter

# 附加到会话查看日志
tmux attach -t vllm

创建启动脚本

创建 start_vllm.sh

#!/bin/bash

# 终止现有的vLLM进程
pkill -f "vllm serve"

# 等待端口释放
sleep 2

# 使用优化配置启动vLLM
vllm serve Qwen/Qwen3.6-27B \n  --max-model-len 232768 \n  --gpu-memory-utilization 0.9 \n  --host 0.0.0.0 \n  --port 8000

赋予执行权限:

chmod +x start_vllm.sh

性能优化建议

  1. 使用FP8量化:如果可用,使用FP8量化版本以获得更好的性能
  2. 启用前缀缓存:vLLM会自动缓存常见前缀以加速重复查询
  3. 监控显存使用:使用nvidia-smi监控GPU利用率
  4. 调整批处理大小:对于更高吞吐量,考虑调整--max-num-batched-tokens

故障排除

显存不足错误

如果遇到OOM错误:

# 降低GPU显存使用比例
vllm serve Qwen/Qwen3.6-27B --gpu-memory-utilization 0.7

# 或减少上下文长度
vllm serve Qwen/Qwen3.6-27B --max-model-len 131072

CUDA错误

如果遇到CUDA相关错误:

# 强制使用eager模式
vllm serve Qwen/Qwen3.6-27B --enforce-eager

首次请求缓慢

首次请求可能较慢,因为需要加载模型。后续请求会因vLLM的缓存机制而更快。

总结

你现在已经成功部署了由vLLM驱动的本地Qwen3.6-27B模型,并连接到QevosAgent实现自主任务执行。这个配置为你提供了:

欢迎尝试不同的模型、参数和QevosAgent配置,打造你完美的AI助手!


*有问题或建议?欢迎在GitHub上联系我们,或加入我们的Discord社区