周红伟:Sglang+Vllm+Qwen3.5企业级部署案例实操

部署 Qwen3.5

Qwen3.5 可通过流行的推理框架以 API 形式部署。

以下展示了启动 Qwen3.5 模型 OpenAI 兼容 API 服务器的示例命令。

IMPORTANT

不同框架在推理效率和吞吐量方面存在显著差异。 我们建议使用最新版本的框架,以确保最佳性能和兼容性。 对于生产环境负载或高吞吐场景,强烈推荐使用专用的推理引擎,如 SGLang、KTransformers 或 vLLM。

IMPORTANT

该模型默认上下文长度为 262,144 个 token。 如果遇到内存不足(OOM)错误,请考虑缩小上下文窗口。 然而,由于 Qwen3.5 利用扩展上下文处理复杂任务,我们建议至少保持 128K tokens 的上下文长度,以保留其思考能力。

SGLang

SGLang 是一个面向大语言模型和视觉语言模型的快速推理框架。

Qwen3.5 需要使用开源仓库主分支中的 SGLang,可在全新环境中通过以下命令安装:

复制代码

uv pip install 'git+https://github.com/sgl-project/sglang.git#subdirectory=python&egg=sglang[all]'

更多详情请参见其文档

以下命令将在 http://localhost:8000/v1 创建 API 端点:

  • 标准版:以下命令可使用 8 块 GPU 上的张量并行创建最大上下文长度为 262,144 tokens 的 API 端点。

    复制代码

    SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3.5-397B-A17B --port 8000 --tp-size 8 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3

  • 工具调用:若需支持工具调用,可使用以下命令。

    复制代码

    SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3.5-397B-A17B --port 8000 --tp-size 8 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3 --tool-call-parser qwen3_coder

  • 多 Token 预测(MTP):推荐使用以下命令启用 MTP:

    复制代码

    SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3.5-397B-A17B --port 8000 --tp-size 8 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3 --speculative-algo NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4

vLLM

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

Qwen3.5 需要使用开源仓库主分支中的 vLLM,可在全新环境中通过以下命令安装:

复制代码

uv pip install vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly

更多详情请参见其文档

有关 Qwen3.5 的详细使用指南,请参阅 vLLM Qwen3.5 使用说明

以下命令将在 http://localhost:8000/v1 创建 API 端点:

  • 标准版本:以下命令可用于在 8 个 GPU 上使用张量并行创建一个最大上下文长度为 262,144 个 token 的 API 端点。

    复制代码

    VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3.5-397B-A17B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3

  • 工具调用:若要支持工具使用,可使用以下命令。

    复制代码

    VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3.5-397B-A17B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder

  • 多 Token 预测(MTP):推荐使用以下命令启用 MTP:

    复制代码

    VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3.5-397B-A17B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3 --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}'

  • 纯文本模式:以下命令会跳过视觉编码器和多模态配置,以释放内存用于额外的 KV 缓存:

    复制代码

    VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3.5-397B-A17B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3 --language-model-only

KTransformers

KTransformers 是一个灵活的框架,支持通过 CPU-GPU 异构计算体验前沿的大语言模型推理优化。

有关使用 KTransformers 运行 Qwen3.5 的信息,请参阅 KTransformers 部署指南

Hugging Face Transformers

Hugging Face Transformers 提供了一个_轻量级_服务器,可用于快速测试和中等负载部署。

运行 Qwen3.5 需要最新版的 transformers

复制代码

pip install "transformers[serving] @ git+https://github.com/huggingface/transformers.git@main"

更多详情请参见其文档。同时请确保已安装 torchvision 和 pillow。

然后,运行 transformers serve 启动服务器,API 端点位于 http://localhost:8000/v1;如果可用,它会自动将模型加载到加速器上:

复制代码

transformers serve --force-model Qwen/Qwen3.5-397B-A17B --port 8000 --continuous-batching

通过 Chat Completions API 使用 Qwen3.5

Chat Completions API 可通过标准 HTTP 请求或 OpenAI SDK 访问。

此处我们展示使用 OpenAI Python SDK 的示例。

开始之前,请确保已安装 SDK 并配置了 API 密钥和 API 基础 URL,例如:

复制代码

pip install -U openai # Set the following accordingly export OPENAI_BASE_URL="http://localhost:8000/v1" export OPENAI_API_KEY="EMPTY"

TIP

我们建议在生成时使用以下采样参数组合:

  • 思考模式:temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0
  • 指令(或非思考)模式:temperature=0.7, top_p=0.8, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0

请注意,不同推理框架对采样参数的支持情况可能有所不同。

纯文本输入
复制代码

from openai import OpenAI # Configured by environment variables client = OpenAI() messages = [ {"role": "user", "content": "Type \"I love Qwen3.5\" backwards"}, ] chat_response = client.chat.completions.create( model="Qwen/Qwen3.5-397B-A17B", messages=messages, max_tokens=81920, temperature=0.6, top_p=0.95, extra_body={ "top_k": 20, }, ) print("Chat response:", chat_response)

相关推荐
Niuguangshuo2 小时前
深度学习:激活函数大全
人工智能·深度学习
人机与认知实验室2 小时前
2028年春晚,会出现机器人主持人吗?
人工智能·机器人
java1234_小锋2 小时前
嵌入模型与Chroma向量数据库 - Qwen3嵌入模型使用 - AI大模型应用开发必备知识
人工智能·向量数据库·chroma
沪漂阿龙2 小时前
大模型如何突破上下文窗口?RoPE、ALiBi与长文本扩展全解析
人工智能
witAI2 小时前
**AI仿真人剧生成软件2025推荐,解锁沉浸式数字内容创作
人工智能·python·量子计算
DoogalStudio2 小时前
DevMind插件设计方案产品需求文档
人工智能·笔记
硅谷秋水2 小时前
mimic-video:机器人控制的可泛化视频-动作模型,超越VLA模型
人工智能·机器学习·计算机视觉·机器人·音视频
SeatuneWrite2 小时前
**AI仿真人剧工具2025推荐,解锁沉浸式互动叙事新体验*
人工智能·python
l1t2 小时前
利用网易有道龙虾调用ollama本地模型生成幻灯片内容
人工智能·爬虫