[!IMPORTANT]
在 Unsloth UD XL 量化版本上嫁接 MTP 层
本仓库中的 GGUF 文件是 Qwen3.6-35B-A3B 的Unsloth Dynamic 2.0 XL (UD XL) 量化版本,并在顶部嫁接了多 token 预测 (MTP) 层。
- 基础量化:Unsloth UD XL — 详见 Unsloth Dynamic 2.0 GGUFs 中的基准测试。
- MTP 层:取自 am17an/Qwen3.6-35BA3B-MTP-GGUF,并以 Q8_0 精度存储,随后合并到 UD XL GGUF 文件中。
- 为何 MTP 采用 Q8? 草稿头(draft heads)相对于基础模型而言尺寸较小,因此 Q8_0 精度能在保持近乎无损的同时,避免对整个模型栈进行完全重新量化的开销。
convert.py:用于将 MTP 层嫁接到 UD XL GGUF 文件的脚本。改编自 此 gist。35BA3B-MTP.gguf:作为convert.py输入的原始 Q8_0 MTP 层源文件(仅提取)。要使用 MTP 运行这些文件,您需要 llama.cpp 的自定义构建版本,其中包含来自 PR #22673 的 MTP/推测解码支持。请按照以下步骤操作。
🐳 或使用预构建 Docker 镜像(推荐)
不想从源代码构建?支持 MTP 的即用型 Docker 镜像适用于多种后端:
镜像 后端 havenoammo/llama:cuda13-serverCUDA 13 havenoammo/llama:cuda12-serverCUDA 12 havenoammo/llama:vulkan-serverVulkan havenoammo/llama:intel-serverIntel (CPU/Xe) havenoammo/llama:rocm-serverROCm (AMD) 快速入门 — 通过 Docker 运行此模型:
docker run --gpus all --rm \ -p 8080:8080 \ -v ./models:/models \ havenoammo/llama:cuda13-server \ -m /models/Qwen3.6-35B-A3B-MTP-UD-Q8_K_XL.gguf \ --port 8080 --host 0.0.0.0 \ -n -1 --parallel 1 \ --ctx-size 262144 --fit-target 844 \ --mmap -ngl -1 --flash-attn on \ --temp 1.0 --min-p 0.0 --top-p 0.95 --top-k 20 \ --jinja \ --chat-template-kwargs '{"preserve_thinking":true}' \ --ubatch-size 512 --batch-size 2048 \ --cache-type-k q8_0 --cache-type-v q8_0 \ --spec-type mtp \ --spec-draft-n-max 3对于 MTP 而言,最重要的两个标志是
--spec-type mtp和--spec-draft-n-max 3。
更多详情和讨论,请参见 Reddit 帖子。
构建支持 MTP 的 llama.cpp — 分步指南
1. 克隆并进入仓库
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp2. 获取最新的远程更改
git fetch origin这会从上游仓库拉取所有新的引用,确保您基于最新的 master 分支尖端进行工作。
3. 将 PR #22673 获取为本地分支
git fetch origin pull/22673/head:pr-22673PR #22673(“llama + spec: MTP Support”)添加了推测解码/MTP 基础设施,使
llama-server能够使用多 token 预测头。我们直接拉取此 PR,无需等待其合并到上游。4. 检出 master 分支并重置到最新远程版本
git checkout master git reset --hard 856c3adac确保在当前上游 master 分支上有一个干净的起点,丢弃任何本地偏离。
5. 将 PR 合并到顶部(非快进)
git merge --no-ff pr-22673 -m "Merge [PR #22673](https://github.com/ggml-org/llama.cpp/pull/22673): llama + spec: MTP Support"
--no-ff标志保留合并提交,以便日后该 PR 正式合并并发生变更时,您可以干净地进行 cherry-pick 或回滚操作。6. 构建
llama-servercmake -B build -DGGML_CUDA=ON cmake --build build --config Release --target llama-server这将生成
build/bin/llama-server。7. 运行启用 MTP 的服务器
./build/bin/llama-server \ -m path/to/qwen3.6-35b-a3b-ud-xl-mtp.gguf \ --spec-type mtp \ --spec-draft-n-max 3
--spec-type mtp告知 llama.cpp 使用 GGUF 中内置的 MTP 头。
--spec-draft-n-max 3设置每步的最大草稿 token 数(与模型的 3 个 MTP 层匹配)。
有关量化基准测试,请参见 Unsloth Dynamic 2.0 GGUFs。
[!Note] 本仓库包含采用 Hugging Face Transformers 格式的后训练模型的权重和配置文件。
这些制品与 Hugging Face Transformers、vLLM、SGLang、KTransformers 等工具兼容。
继 2 月份发布 Qwen3.5 系列之后,我们很高兴推出 Qwen3.6 的首个开源权重版本。Qwen3.6 基于社区的直接反馈构建,注重稳定性和实际应用价值,为开发者提供更直观、响应更迅速且真正高效的编码体验。
本次版本带来了显著升级,尤其在以下方面:

更多详情,请参考我们的博客文章 Qwen3.6-35B-A3B。
| Qwen3.5-27B | Gemma4-31B | Qwen3.5-35BA3B | Gemma4-26BA4B | Qwen3.6-35BA3B | |
|---|---|---|---|---|---|
| 编码智能体 | |||||
| SWE-bench Verified | 75.0 | 52.0 | 70.0 | 17.4 | 73.4 |
| SWE-bench Multilingual | 69.3 | 51.7 | 60.3 | 17.3 | 67.2 |
| SWE-bench Pro | 51.2 | 35.7 | 44.6 | 13.8 | 49.5 |
| Terminal-Bench 2.0 | 41.6 | 42.9 | 40.5 | 34.2 | 51.5 |
| Claw-Eval 平均 | 64.3 | 48.5 | 65.4 | 58.8 | 68.7 |
| Claw-Eval Pass^3 | 46.2 | 25.0 | 51.0 | 28.0 | 50.0 |
| SkillsBench Avg5 | 27.2 | 23.6 | 4.4 | 12.3 | 28.7 |
| QwenClawBench | 52.2 | 41.7 | 47.7 | 38.7 | 52.6 |
| NL2Repo | 27.3 | 15.5 | 20.5 | 11.6 | 29.4 |
| QwenWebBench | 1068 | 1197 | 978 | 1178 | 1397 |
| 通用智能体 | |||||
| TAU3-Bench | 68.4 | 67.5 | 68.9 | 59.0 | 67.2 |
| VITA-Bench | 41.8 | 43.0 | 29.1 | 36.9 | 35.6 |
| DeepPlanning | 22.6 | 24.0 | 22.8 | 16.2 | 25.9 |
| Tool Decathlon | 31.5 | 21.2 | 28.7 | 12.0 | 26.9 |
| MCPMark | 36.3 | 18.1 | 27.0 | 14.2 | 37.0 |
| MCP-Atlas | 68.4 | 57.2 | 62.4 | 50.0 | 62.8 |
| WideSearch | 66.4 | 35.2 | 59.1 | 38.3 | 60.1 |
| 知识能力 | |||||
| MMLU-Pro | 86.1 | 85.2 | 85.3 | 82.6 | 85.2 |
| MMLU-Redux | 93.2 | 93.7 | 93.3 | 92.7 | 93.3 |
| SuperGPQA | 65.6 | 65.7 | 63.4 | 61.4 | 64.7 |
| C-Eval | 90.5 | 82.6 | 90.2 | 82.5 | 90.0 |
| STEM 与推理能力 | |||||
| GPQA | 85.5 | 84.3 | 84.2 | 82.3 | 86.0 |
| HLE | 24.3 | 19.5 | 22.4 | 8.7 | 21.4 |
| LiveCodeBench v6 | 80.7 | 80.0 | 74.6 | 77.1 | 80.4 |
| HMMT Feb 25 | 92.0 | 88.7 | 89.0 | 91.7 | 90.7 |
| HMMT Nov 25 | 89.8 | 87.5 | 89.2 | 87.5 | 89.1 |
| HMMT 2月26日 | 84.3 | 77.2 | 78.7 | 79.0 | 83.6 |
| IMOAnswerBench | 79.9 | 74.5 | 76.8 | 74.3 | 78.9 |
| AIME26 | 92.6 | 89.2 | 91.0 | 88.3 | 92.7 |
* SWE-Bench 系列:内部智能体框架(bash + 文件编辑工具);温度参数=1.0,top_p=0.95,200K 上下文窗口。我们修正了 SWE-bench Pro 公开数据集中的部分问题任务,并在优化后的基准上评估所有基线模型。
* Terminal-Bench 2.0:采用 Harbor/Terminus-2 测试框架;3 小时超时限制,32 CPU/48 GB 内存;温度参数=1.0,top_p=0.95,top_k=20,最大 tokens=80K,256K 上下文;5 次运行的平均值。
* SkillsBench:通过 OpenCode 在 78 个任务(独立子集,排除依赖 API 的任务)上进行评估;5 次运行的平均值。
* NL2Repo:其他模型通过 Claude Code 进行评估(温度参数=1.0,top_p=0.95,最大轮次=900)。
* QwenClawBench:内部真实用户分布的 Claw 智能体基准(即将开源);温度参数=0.6,256K 上下文。
* QwenWebBench:内部前端代码生成基准;支持双语(英文/中文),涵盖 7 个类别(Web 设计、Web 应用、游戏、SVG、数据可视化、动画和 3D);自动渲染 + 多模态评判(代码/视觉正确性);采用 BT/Elo 评分系统。
* TAU3-Bench:使用官方用户模型(gpt-5.2,低推理强度)+ 默认 BM25 检索。
* VITA-Bench:子领域分数的平均值;由于官方评判模型(claude-3.7-sonnet)已停用,改用 claude-4-sonnet 作为评判模型。
* MCPMark:GitHub MCP v0.30.3;Playwright 响应截断至 32K tokens。
* MCP-Atlas:公开数据集分数;采用 gemini-2.5-pro 作为评判模型。
* AIME 26:使用完整的 AIME 2026(I & II),其分数可能与 Qwen 3.5 的说明有所不同。
| Qwen3.5-27B | Claude-Sonnet-4.5 | Gemma4-31B | Gemma4-26BA4B | Qwen3.5-35B-A3B | Qwen3.6-35B-A3B | |
|---|---|---|---|---|---|---|
| STEM与谜题 | ||||||
| MMMU | 82.3 | 79.6 | 80.4 | 78.4 | 81.4 | 81.7 |
| MMMU-Pro | 75.0 | 68.4 | 76.9* | 73.8* | 75.1 | 75.3 |
| Mathvista(mini) | 87.8 | 79.8 | 79.3 | 79.4 | 86.2 | 86.4 |
| ZEROBench_sub | 36.2 | 26.3 | 26.0 | 26.3 | 34.1 | 34.4 |
| 通用视觉问答 | ||||||
| RealWorldQA | 83.7 | 70.3 | 72.3 | 72.2 | 84.1 | 85.3 |
| MMBenchEN-DEV-v1.1 | 92.6 | 88.3 | 90.9 | 89.0 | 91.5 | 92.8 |
| SimpleVQA | 56.0 | 57.6 | 52.9 | 52.2 | 58.3 | 58.9 |
| HallusionBench | 70.0 | 59.9 | 67.4 | 66.1 | 67.9 | 69.8 |
| 文本识别与文档理解 | ||||||
| OmniDocBench1.5 | 88.9 | 85.8 | 80.1 | 74.4 | 89.3 | 89.9 |
| CharXiv(RQ) | 79.5 | 67.2 | 67.9 | 69.0 | 77.5 | 78.0 |
| CC-OCR | 81.0 | 68.1 | 75.7 | 74.5 | 80.7 | 81.9 |
| AI2D_TEST | 92.9 | 87.0 | 89.0 | 88.3 | 92.6 | 92.7 |
| 空间智能 | ||||||
| RefCOCO(avg) | 90.9 | -- | -- | -- | 89.2 | 92.0 |
| ODInW13 | 41.1 | -- | -- | -- | 42.6 | 50.8 |
| EmbSpatialBench | 84.5 | 71.8 | -- | -- | 83.1 | 84.3 |
| RefSpatialBench | 67.7 | -- | -- | -- | 63.5 | 64.3 |
| 视频理解 | ||||||
| VideoMME(带字幕) | 87.0 | 81.1 | -- | -- | 86.6 | 86.6 |
| VideoMME(无字幕) | 82.8 | 75.3 | -- | -- | 82.5 | 82.5 |
| VideoMMMU | 82.3 | 77.6 | 81.6 | 76.0 | 80.4 | 83.7 |
| MLVU | 85.9 | 72.8 | -- | -- | 85.6 | 86.2 |
| MVBench | 74.6 | -- | -- | -- | 74.8 | 74.6 |
| LVBench | 73.6 | -- | -- | -- | 71.4 | 71.4 |
* 空白单元格(--)表示分数不可用或不适用。
为实现便捷集成,我们建议通过 API 使用 Qwen3.6。以下是通过兼容 OpenAI 的 API 使用 Qwen3.6 的指南。
Qwen3.6 可通过主流推理框架以 API 形式部署。 下文展示了为 Qwen3.6 模型启动兼容 OpenAI API 服务的示例命令。
[!Important] 不同框架的推理效率和吞吐量差异显著。 建议使用最新版本的框架,以确保最佳性能和兼容性。 对于生产工作负载或高吞吐量场景,强烈推荐使用 SGLang、KTransformers 或 vLLM 等专用部署引擎。
[!Important] 该模型的默认上下文长度为 262,144 个 token。 若遇到内存不足(OOM)错误,可考虑减小上下文窗口。 但由于 Qwen3.6 借助扩展上下文来处理复杂任务,我们建议将上下文长度至少保持在 128K token,以保留其思考能力。
SGLang 是一个用于大型语言模型和视觉语言模型的快速部署框架。
Qwen3.6 推荐使用 sglang>=0.5.10,可在全新环境中通过以下命令安装:
uv pip install sglang[all]有关更多详细信息,请参阅其文档。
以下操作将在 http://localhost:8000/v1 创建 API 端点:
标准版本:可使用以下命令创建 API 端点,该端点支持最大上下文长度为 262,144 tokens,并在 8 块 GPU 上使用张量并行。
python -m sglang.launch_server --model-path Qwen/Qwen3.6-35B-A3B --port 8000 --tp-size 8 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3工具调用:要支持工具调用,可使用以下命令。
python -m sglang.launch_server --model-path Qwen/Qwen3.6-35B-A3B --port 8000 --tp-size 8 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3 --tool-call-parser qwen3_coder多 Token 预测(MTP):推荐使用以下命令进行 MTP:
python -m sglang.launch_server --model-path Qwen/Qwen3.6-35B-A3B --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有关详细的部署指南,请参阅 SGLang Qwen3.5 实用指南。
vLLM 是一款用于大语言模型(LLMs)的高吞吐量且内存高效的推理与服务引擎。
Qwen3.6 推荐使用 vllm>=0.19.0,可在全新环境中通过以下命令安装:
uv pip install vllm --torch-backend=auto有关更多详细信息,请参阅其文档。
以下操作将在 http://localhost:8000/v1 创建 API 端点:
标准版:可使用以下命令创建最大上下文长度为 262,144 tokens 的 API 端点,并在 8 块 GPU 上使用张量并行。
vllm serve Qwen/Qwen3.6-35B-A3B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3 工具调用:要支持工具使用,可使用以下命令。
vllm serve Qwen/Qwen3.6-35B-A3B --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 serve Qwen/Qwen3.6-35B-A3B --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 serve Qwen/Qwen3.6-35B-A3B --port 8000 --tensor-parallel-size 8 --max-model-len 262144 --reasoning-parser qwen3 --language-model-only有关详细的部署指南,请参阅 vLLM Qwen3.5 指南。
KTransformers 是一个灵活的框架,可通过 CPU-GPU 异构计算体验前沿的 LLM 推理优化。 要使用 KTransformers 运行 Qwen3.6,请参阅 KTransformers 部署指南。
Hugging Face Transformers 包含一个轻量级服务器,可用于快速测试和中等负载部署。
运行 Qwen3.6 需要最新版本的 transformers:
pip install "transformers[serving]"有关更多详情,请参见其文档。同时,请确保已安装torchvision和pillow。
然后,运行transformers serve以启动服务器,其API端点位于http://localhost:8000/v1;如果有可用的加速器,服务器会将模型部署到加速器上:
transformers serve Qwen/Qwen3.6-35B-A3B --port 8000 --continuous-batching聊天补全 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=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0- 精确编码任务(如 WebDev)的思考模式:
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- 推理任务的指令(非思考)模式:
temperature=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0请注意,不同推理框架对采样参数的支持情况有所不同。
[!Important] Qwen3.6 模型默认以思考模式运行,在生成最终响应前会先产生由
</think>\n...</think>\n\n标识的思考内容。 若需禁用思考内容并获取直接响应,请参考此处的示例。
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{"role": "user", "content": "Type \"I love Qwen3.6\" backwards"},
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B",
messages=messages,
max_tokens=81920,
temperature=1.0,
top_p=0.95,
presence_penalty=1.5,
extra_body={
"top_k": 20,
},
)
print("Chat response:", chat_response)from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg"
}
},
{
"type": "text",
"text": "The centres of the four illustrated circles are in the corners of the square. The two big circles touch each other and also the two little circles. With which factor do you have to multiply the radii of the little circles to obtain the radius of the big circles?\nChoices:\n(A) $\\frac{2}{9}$\n(B) $\\sqrt{5}$\n(C) $0.8 \\cdot \\pi$\n(D) 2.5\n(E) $1+\\sqrt{2}$"
}
]
}
]
response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B",
messages=messages,
max_tokens=81920,
temperature=1.0,
top_p=0.95,
presence_penalty=1.5,
extra_body={
"top_k": 20,
},
)
print("Chat response:", chat_response)from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/video/N1cdUjctpG8.mp4"
}
},
{
"type": "text",
"text": "How many porcelain jars were discovered in the niches located in the primary chamber of the tomb?"
}
]
}
]
# When vLLM is launched with `--media-io-kwargs '{"video": {"num_frames": -1}}'`,
# video frame sampling can be configured via `extra_body` (e.g., by setting `fps`).
# This feature is currently supported only in vLLM.
#
# By default, `fps=2` and `do_sample_frames=True`.
# With `do_sample_frames=True`, you can customize the `fps` value to set your desired video sampling rate.
response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B",
messages=messages,
max_tokens=81920,
temperature=1.0,
top_p=0.95,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"mm_processor_kwargs": {"fps": 2, "do_sample_frames": True},
},
)
print("Chat response:", chat_response)[!Important] Qwen3.6 不正式支持 Qwen3 的软切换,即
/think和/nothink。
Qwen3.6 默认会在响应前进行思考。 您可以通过配置 API 参数让模型直接响应,无需思考。 例如,
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.6/demo/RealWorld/RealWorld-04.png"
}
},
{
"type": "text",
"text": "Where is this?"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B",
messages=messages,
max_tokens=32768,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"enable_thinking": False},
},
)
print("Chat response:", chat_response)[!Note] 若您使用的是阿里云 Model Studio 的 API,除了修改
model外,请使用"enable_thinking": False,而非"chat_template_kwargs": {"enable_thinking": False}。
默认情况下,仅保留处理最新用户消息时生成的思考块,形成通常所说的交错思考模式。
Qwen3.6 经过额外训练,能够保留并利用历史消息中的思考痕迹。
您可以通过设置 preserve_thinking 选项来启用此功能:
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [...]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B",
messages=messages,
max_tokens=32768,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"preserve_thinking": True},
},
)
print("Chat response:", chat_response)[!Note] 若您使用阿里云 Model Studio 的 API,除了修改
model外,请使用"preserve_thinking": True,而非"chat_template_kwargs": {"preserve_thinking": False}。
此功能在智能体场景中尤为实用,通过保留完整的推理上下文,能够增强决策的一致性,并且在多数情况下可减少重复推理,从而降低总体的 token 消耗。此外,它还能提升 KV 缓存的利用率,在思考模式与非思考模式下均优化推理效率。
Qwen3.6 在工具调用能力方面表现出色。
我们建议使用 Qwen-Agent 快速基于 Qwen3.6 构建智能体应用。
您可以通过 MCP 配置文件定义可用工具,也可以使用 Qwen-Agent 的集成工具,或自行集成其他工具。
import os
from qwen_agent.agents import Assistant
# Define LLM
# Using Alibaba Cloud Model Studio
llm_cfg = {
# Use the OpenAI-compatible model service provided by DashScope:
'model': 'Qwen3.6-35B-A3B',
'model_type': 'qwenvl_oai',
'model_server': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
'api_key': os.getenv('DASHSCOPE_API_KEY'),
'generate_cfg': {
'use_raw_api': True,
# When using Dash Scope OAI API, pass the parameter of whether to enable thinking mode in this way
'extra_body': {
'enable_thinking': True,
'preserve_thinking': True,
},
},
}
# Using OpenAI-compatible API endpoint.
# functionality of the deployment frameworks and let Qwen-Agent automate the related operations.
#
# llm_cfg = {
# # Use your own model service compatible with OpenAI API by vLLM/SGLang:
# 'model': 'Qwen/Qwen3.6-35B-A3B',
# 'model_type': 'qwenvl_oai',
# 'model_server': 'http://localhost:8000/v1', # api_base
# 'api_key': 'EMPTY',
#
# 'generate_cfg': {
# 'use_raw_api': True,
# # When using vLLM/SGLang OAI API, pass the parameter of whether to enable thinking mode in this way
# 'extra_body': {
# 'chat_template_kwargs': {'enable_thinking': True, 'preserve_thinking': True}
# },
# },
# }
# Define Tools
tools = [
{'mcpServers': { # You can specify the MCP configuration file
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/xxxx/Desktop"]
}
}
}
]
# Define Agent
bot = Assistant(llm=llm_cfg, function_list=tools)
# Streaming generation
messages = [{'role': 'user', 'content': 'Help me organize my desktop.'}]
for responses in bot.run(messages=messages):
pass
print(responses)
# Streaming generation
messages = [{'role': 'user', 'content': 'Develop a dog website and save it on the desktop'}]
for responses in bot.run(messages=messages):
pass
print(responses)Qwen Code 是一款开源的终端 AI 代理,专为 Qwen 模型优化。它能帮助您理解大型代码库、自动化繁琐工作,从而加快开发进度。
更多信息,请参考 Qwen Code。
Qwen3.6 原生支持最长 262,144 tokens 的上下文长度。 对于总长度(包括输入和输出)超过此限制的长文本任务,我们建议使用 RoPE 缩放技术(如 YaRN)来有效处理长文本。
目前已有多个推理框架支持 YaRN,例如 transformers、vllm、ktransformers 和 sglang。
通常,在支持的框架中启用 YaRN 有两种方法:
修改模型配置文件:
在 config.json 文件中,将 text_config 中的 rope_parameters 字段修改为:
{
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "yarn",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25,
"factor": 4.0,
"original_max_position_embeddings": 262144,
}通过命令行参数:
对于 vllm,您可以使用
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1010000 对于 sglang 和 ktransformers,您可以使用
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... --json-model-override-args '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --context-length 1010000[!NOTE] 所有主流开源框架均实现了静态 YaRN,这意味着缩放因子不随输入长度变化,可能会影响短文本的性能。 我们建议仅在需要处理长上下文时才修改
rope_parameters配置。 同时,建议根据需要调整factor。例如,如果您的应用场景中典型的上下文长度为 524,288 tokens,将factor设置为 2.0 会更合适。
为实现最佳性能,我们建议采用以下设置:
采样参数:
temperature=1.0,top_p=0.95,top_k=20,min_p=0.0,presence_penalty=1.5,repetition_penalty=1.0temperature=0.6,top_p=0.95,top_k=20,min_p=0.0,presence_penalty=0.0,repetition_penalty=1.0temperature=0.7,top_p=0.8,top_k=20,min_p=0.0,presence_penalty=1.5,repetition_penalty=1.0temperature=1.0,top_p=1.0,top_k=40,min_p=0.0,presence_penalty=2.0,repetition_penalty=1.0presence_penalty参数调整为0到2之间的值,以减少无意义重复。但较高的参数值偶尔可能导致语言混杂,并略微降低模型性能。足够的输出长度:对于大多数查询,建议使用32,768 tokens的输出长度。在数学和编程竞赛等高度复杂问题的基准测试中,建议将最大输出长度设置为81,920 tokens。这可为模型提供足够空间生成详细全面的响应,从而提升整体性能。
标准化输出格式:在进行基准测试时,建议通过提示词标准化模型输出。
answer字段中仅用选项字母展示您的选择,例如:"answer": "C"。”长视频理解:为优化纯文本和图像的推理效率,已发布的video_preprocessor_config.json中size参数采用保守配置。建议将视频预处理配置文件中的longest_edge参数设置为469,762,048(对应224k视频tokens),以支持小时级视频的更高帧率采样,从而获得更优性能。例如:
{"longest_edge": 469762048, "shortest_edge": 4096}如果您觉得我们的工作对您有所帮助,欢迎引用我们的成果。
@misc{qwen36_35b_a3b,
title = {{Qwen3.6-35B-A3B}: Agentic Coding Power, Now Open to All},
url = {https://qwen.ai/blog?id=qwen3.6-35b-a3b},
author = {{Qwen Team}},
month = {April},
year = {2026}
}