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

本教程将带你一步步在本地部署强大的 Qwen3.6-27B 语言模型,使用 vLLM 作为推理引擎,然后连接到 QevosAgent,打造一个完全运行在你自己硬件上的自主AI助手。
为什么要本地部署?
在本地运行大语言模型有多个优势:
- 隐私保护:你的数据永远不会离开你的机器
- 零成本:无需按token支付API费用
- 完全控制:可以自由定制模型行为
- 离线可用:无需网络连接即可工作
- 高性能:vLLM通过PagedAttention技术提供业界领先的吞吐量
前置条件
开始之前,请确保你拥有:
- GPU:NVIDIA显卡,至少24GB显存(RTX 3090/4090、A100等)
- CUDA:已安装CUDA 11.8或更高版本
- Python:推荐使用Python 3.10或3.11
- 存储空间:至少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
性能优化建议
- 使用FP8量化:如果可用,使用FP8量化版本以获得更好的性能
- 启用前缀缓存:vLLM会自动缓存常见前缀以加速重复查询
- 监控显存使用:使用
nvidia-smi监控GPU利用率 - 调整批处理大小:对于更高吞吐量,考虑调整
--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实现自主任务执行。这个配置为你提供了:
- ✅ 完全的隐私和数据控制
- ✅ 零API成本
- ✅ 业界领先的推理性能
- ✅ 完整的自定义能力
欢迎尝试不同的模型、参数和QevosAgent配置,打造你完美的AI助手!