找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2|回复: 1

Qwen3.5-397B-A17B

[复制链接]

2

主题

1

回帖

8

积分

新手上路

积分
8
发表于 昨天 22:16 | 显示全部楼层 |阅读模式
Qwen3.5-397B-A17B
NOTE
本仓库包含以 Hugging Face Transformers 格式提供的后训练模型的权重和配置文件。
这些产物兼容 Hugging Face Transformers、vLLM、SGLang、KTransformers 等框架。

TIP
对于希望获得托管式、可扩展推理服务而无需维护基础设施的用户,阿里云百炼平台 提供了官方的 Qwen API 服务。
特别地,Qwen3.5-Plus 是与 Qwen3.5-397B-A17B 对应的托管版本,具备更多生产级特性,例如默认支持 100 万上下文长度、官方内置工具以及自适应工具调用能力。 更多信息请参阅 用户指南

在过去几个月中,我们加大了对基础模型的研发投入,致力于打造兼具卓越实用性与性能的模型。Qwen3.5 代表了一次重大飞跃,融合了多模态学习、架构效率、强化学习规模扩展以及全球可访问性等方面的突破,为开发者和企业带来前所未有的能力与效率。
Qwen3.5 亮点
Qwen3.5 具备以下增强特性:
  • 统一的视觉-语言基础:在多模态 token 上进行早期融合训练,在推理、编码、智能体和视觉理解等基准测试中,跨代际达到与 Qwen3 相当的水平,并超越 Qwen3-VL 模型。
  • 高效混合架构:门控 Delta 网络结合稀疏混合专家(MoE)机制,在保持极低延迟和成本开销的同时实现高吞吐推理。
  • 可扩展的强化学习泛化能力:在百万级智能体环境中进行强化学习训练,任务分布逐步复杂化,从而确保在真实场景中的强大适应能力。
  • 全球语言覆盖:扩展支持至 201 种语言和方言,实现包容性的全球部署,并具备对文化与区域差异的细致理解。
  • 下一代训练基础设施:相比纯文本训练,多模态训练效率接近 100%,并采用异步强化学习框架,支持大规模智能体脚手架和环境编排。

更多详情请参阅我们的博客文章 Qwen3.5
模型概览
  • 类型:带视觉编码器的因果语言模型
  • 训练阶段:预训练与后训练
  • 语言模型
    • 参数总量:共 397B,激活参数为 17B
    • 隐藏层维度:4096
    • Token 嵌入维度:248320(已填充)
    • 层数:60
      • 隐藏层结构:15 * (3 * (门控 DeltaNet -> MoE) -> 1 * (门控注意力 -> MoE))
    • 门控 DeltaNet:
      • 线性注意力头数量:V 为 64,QK 为 16
      • 头维度:128
    • 门控注意力:
      • 注意力头数量:Q 为 32,KV 为 2
      • 头维度:256
      • 旋转位置嵌入维度:64
    • 混合专家(MoE)
      • 专家总数:512
      • 激活专家数:10 个路由专家 + 1 个共享专家
      • 专家中间层维度:1024
    • 语言模型输出维度:248320(已填充)
    • MTP:采用多步训练策略
  • 上下文长度:原生支持 262,144,可扩展至最多 1,010,000 个 token。
基准测试结果语言
GPT5.2
Claude 4.5 Opus
Gemini-3 Pro
Qwen3-Max-Thinking
K2.5-1T-A32B
Qwen3.5-397B-A17B

Knowledge
MMLU-Pro
87.4
89.5
89.8
85.7
87.1
87.8

MMLU-Redux
95.0
95.6
95.9
92.8
94.5
94.9

SuperGPQA
67.9
70.6
74.0
67.3
69.2
70.4

C-Eval
90.5
92.2
93.4
93.7
94.0
93.0

Instruction Following
IFEval
94.8
90.9
93.5
93.4
93.9
92.6

IFBench
75.4
58.0
70.4
70.9
70.2
76.5

MultiChallenge
57.9
54.2
64.2
63.3
62.7
67.6

Long Context
AA-LCR
72.7
74.0
70.7
68.7
70.0
68.7

LongBench v2
54.5
64.4
68.2
60.6
61.0
63.2

STEM
GPQA
92.4
87.0
91.9
87.4
87.6
88.4

HLE
35.5
30.8
37.5
30.2
30.1
28.7

HLE-Verified¹
43.3
38.8
48
37.6
--
37.6

Reasoning
LiveCodeBench v6
87.7
84.8
90.7
85.9
85.0
83.6

HMMT Feb 25
99.4
92.9
97.3
98.0
95.4
94.8

HMMT Nov 25
100
93.3
93.3
94.7
91.1
92.7

IMOAnswerBench
86.3
84.0
83.3
83.9
81.8
80.9

AIME26
96.7
93.3
90.6
93.3
93.3
91.3

General Agent
BFCL-V4
63.1
77.5
72.5
67.7
68.3
72.9

TAU2-Bench
87.1
91.6
85.4
84.6
77.0
86.7

VITA-Bench
38.2
56.3
51.6
40.9
41.9
49.7

DeepPlanning
44.6
33.9
23.3
28.7
14.5
34.3

Tool Decathlon
43.8
43.5
36.4
18.8
27.8
38.3

MCP-Mark
57.5
42.3
53.9
33.5
29.5
46.1

Search Agent³
HLE w/ tool
45.5
43.4
45.8
49.8
50.2
48.3

BrowseComp
65.8
67.8
59.2
53.9
--/74.9
69.0/78.6

BrowseComp-zh
76.1
62.4
66.8
60.9
--
70.3

WideSearch
76.8
76.4
68.0
57.9
72.7
74.0

Seal-0
45.0
47.7
45.5
46.9
57.4
46.9

Multilingualism
MMMLU
89.5
90.1
90.6
84.4
86.0
88.5

MMLU-ProX
83.7
85.7
87.7
78.5
82.3
84.7

NOVA-63
54.6
56.7
56.7
54.2
56.0
59.1

INCLUDE
87.5
86.2
90.5
82.3
83.3
85.6

Global PIQA
90.9
91.6
93.2
86.0
89.3
89.8

PolyMATH
62.5
79.0
81.6
64.7
43.1
73.3

WMT24++
78.8
79.7
80.7
77.6
77.6
78.9

MAXIFE
88.4
79.2
87.5
84.0
72.8
88.2

Coding Agent
SWE-bench Verified
80.0
80.9
76.2
75.3
76.8
76.4

SWE-bench Multilingual
72.0
77.5
65.0
66.7
73.0
69.3

SecCodeBench
68.7
68.6
62.4
57.5
61.3
68.3

Terminal Bench 2
54.0
59.3
54.2
22.5
50.8
52.5
* HLE-Verified:人类最后考试(HLE)的一个经过验证和修订的版本,附带透明的、逐组件的验证协议和细粒度的错误分类体系。我们在 https://huggingface.co/datasets/skylenage/HLE-Verified 开源了该数据集。
* TAU2-Bench:我们遵循官方设置,但在航空领域除外,该领域所有模型均采用 Claude Opus 4.5 系统卡中提出的修复方案进行评估。
* MCPMark:GitHub MCP 服务器使用来自 api.githubcopilot.com 的 v0.30.3 版本;Playwright 工具的响应被截断至 32k tokens。
* Search Agent:大多数基于我们模型构建的搜索智能体采用一种简单的上下文折叠策略(256k):一旦累积的工具响应长度达到预设阈值,历史中较早的工具响应将被剪枝,以保持上下文在限制范围内。
* BrowseComp:我们测试了两种策略,简单上下文折叠策略得分为 69.0,而采用与 DeepSeek-V3.2 和 Kimi K2.5 相同的“全部丢弃”策略则得分为 78.6。
* WideSearch:我们使用 256k 的上下文窗口,不进行任何上下文管理。
* MMLU-ProX:我们报告在 29 种语言上的平均准确率。
* WMT24++:在对 WMT24 进行难度标注和重新平衡后得到的一个更具挑战性的子集;我们使用 XCOMET-XXL 报告在 55 种语言上的平均得分。
* MAXIFE:我们报告在英语及多语言原始提示(共 23 种设置)上的准确率。
* 空单元格(--)表示分数尚未提供或不适用。

视觉语言
GPT5.2
Claude 4.5 Opus
Gemini-3 Pro
Qwen3-VL-235B-A22B
K2.5-1T-A32B
Qwen3.5-397B-A17B

STEM and Puzzle
MMMU
86.7
80.7
87.2
80.6
84.3
85.0

MMMU-Pro
79.5
70.6
81.0
69.3
78.5
79.0

MathVision
83.0
74.3
86.6
74.6
84.2
88.6

Mathvista(mini)
83.1
80.0
87.9
85.8
90.1
90.3

We-Math
79.0
70.0
86.9
74.8
84.7
87.9

DynaMath
86.8
79.7
85.1
82.8
84.4
86.3

ZEROBench
9
3
10
4
9
12

ZEROBench_sub
33.2
28.4
39.0
28.4
33.5
41.0

BabyVision
34.4
14.2
49.7
22.2
36.5
52.3/43.3

General VQA
RealWorldQA
83.3
77.0
83.3
81.3
81.0
83.9

MMStar
77.1
73.2
83.1
78.7
80.5
83.8

HallusionBench
65.2
64.1
68.6
66.7
69.8
71.4

MMBenchEN-DEV-v1.1
88.2
89.2
93.7
89.7
94.2
93.7

SimpleVQA
55.8
65.7
73.2
61.3
71.2
67.1

Text Recognition and Document Understanding
OmniDocBench1.5
85.7
87.7
88.5
84.5
88.8
90.8

CharXiv(RQ)
82.1
68.5
81.4
66.1
77.5
80.8

MMLongBench-Doc
--
61.9
60.5
56.2
58.5
61.5

CC-OCR
70.3
76.9
79.0
81.5
79.7
82.0

AI2D_TEST
92.2
87.7
94.1
89.2
90.8
93.9

OCRBench
80.7
85.8
90.4
87.5
92.3
93.1

Spatial Intelligence
ERQA
59.8
46.8
70.5
52.5
--
67.5

CountBench
91.9
90.6
97.3
93.7
94.1
97.2

RefCOCO(avg)
--
--
84.1
91.1
87.8
92.3

ODInW13
--
--
46.3
43.2
--
47.0

EmbSpatialBench
81.3
75.7
61.2
84.3
77.4
84.5

RefSpatialBench
--
--
65.5
69.9
--
73.6

LingoQA
68.8
78.8
72.8
66.8
68.2
81.6

V*
75.9
67.0
88.0
85.9
77.0
95.8/91.1

Hypersim
--
--
--
11.0
--
12.5

SUNRGBD
--
--
--
34.9
--
38.3

Nuscene
--
--
--
13.9
--
16.0

Video Understanding
VideoMME(w sub.)
86
77.6
88.4
83.8
87.4
87.5

VideoMME(w/o sub.)
85.8
81.4
87.7
79.0
83.2
83.7

VideoMMMU
85.9
84.4
87.6
80.0
86.6
84.7

MLVU (M-Avg)
85.6
81.7
83.0
83.8
85.0
86.7

MVBench
78.1
67.2
74.1
75.2
73.5
77.6

LVBench
73.7
57.3
76.2
63.6
75.9
75.5

MMVU
80.8
77.3
77.5
71.1
80.4
75.4

Visual Agent
ScreenSpot Pro
--
45.7
72.7
62.0
--
65.6

OSWorld-Verified
38.2
66.3
--
38.1
63.3
62.2

AndroidWorld
--
--
--
63.7
--
66.8

Medical VQA
SLAKE
76.9
76.4
81.3
54.7
81.6
79.9

PMC-VQA
58.9
59.9
62.3
41.2
63.3
64.2

MedXpertQA-MM
73.3
63.6
76.0
47.6
65.3
70.0
* MathVision:我们模型的分数使用固定提示进行评估,例如:“请逐步推理,并将最终答案放在 \boxed{} 中。” 对于其他模型,我们报告使用和不使用 \boxed{} 格式运行中的较高分数。
* BabyVision:我们模型的分数在启用 CI(代码解释器)的情况下报告;若不启用 CI,结果为 43.3。
* V*:我们模型的分数在启用 CI(代码解释器)的情况下报告;若不启用 CI,结果为 91.1。
* 空单元格(--)表示分数尚未提供或不适用。

快速开始IMPORTANT
Qwen3.5 模型默认以“思考模式”运行,在生成最终回复前会先输出由 \<think>\n...\</think>\n\n 标记的思考内容。 若要禁用思考内容并直接获得回复,请参见此处的示例。

为了简化集成,我们建议通过 API 使用 Qwen3.5。以下是如何通过 OpenAI 兼容 API 使用 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,可在全新环境中通过以下命令安装:
  1. 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 端点。
    1. 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
    复制代码


工具调用:若需支持工具调用,可使用以下命令。
  1. 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:
  1. 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 是一个高吞吐、内存高效的 LLM 推理与服务引擎。 Qwen3.5 需要使用开源仓库主分支中的 vLLM,可在全新环境中通过以下命令安装:
  1. 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 上使用张量并行(tensor parallel)创建一个最大上下文长度为 262,144 个 token 的 API 端点。


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


工具调用:若要支持工具使用,可使用以下命令。
  1. 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:
  1. 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 缓存:
  1. 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:
  1. pip install "transformers[serving] @ git+https://github.com/huggingface/transformers.git@main"
复制代码
更多详情请参见其文档。同时请确保已安装 torchvision 和 pillow。
然后,运行 transformers serve 启动服务器,API 端点位于 http://localhost:8000/v1;如果可用,它会将模型加载到加速器上:
  1. 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,例如:
  1. pip install -U openai

  2. # Set the following accordingly
  3. export OPENAI_BASE_URL="http://localhost:8000/v1"
  4. export OPENAI_API_KEY="EMPTY"
复制代码
我们建议在生成时使用以下采样参数组合:
  • 思考模式: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
请注意,不同推理框架对采样参数的支持情况可能有所不同。

纯文本输入
  1. from openai import OpenAI
  2. # Configured by environment variables
  3. client = OpenAI()

  4. messages = [
  5.     {"role": "user", "content": "Type "I love Qwen3.5" backwards"},
  6. ]

  7. chat_response = client.chat.completions.create(
  8.     model="Qwen/Qwen3.5-397B-A17B",
  9.     messages=messages,
  10.     max_tokens=81920,
  11.     temperature=0.6,
  12.     top_p=0.95,
  13.     extra_body={
  14.         "top_k": 20,
  15.     },
  16. )
  17. print("Chat response:", chat_response)
复制代码


图像输入
  1. from openai import OpenAI
  2. # Configured by environment variables
  3. client = OpenAI()

  4. messages = [
  5.     {
  6.         "role": "user",
  7.         "content": [
  8.             {
  9.                 "type": "image_url",
  10.                 "image_url": {
  11.                     "url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg"
  12.                 }
  13.             },
  14.             {
  15.                 "type": "text",
  16.                 "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}$"
  17.             }
  18.         ]
  19.     }
  20. ]

  21. response = client.chat.completions.create(
  22.     model="Qwen/Qwen3.5-397B-A17B",
  23.     messages=messages,
  24.     max_tokens=81920,
  25.     temperature=0.6,
  26.     top_p=0.95,
  27.     extra_body={
  28.         "top_k": 20,
  29.     },
  30. )
  31. print("Chat response:", chat_response)
复制代码


视频输入
  1. from openai import OpenAI
  2. # Configured by environment variables
  3. client = OpenAI()

  4. messages = [
  5.     {
  6.         "role": "user",
  7.         "content": [
  8.             {
  9.                 "type": "video_url",
  10.                 "video_url": {
  11.                     "url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/video/N1cdUjctpG8.mp4"
  12.                 }
  13.             },
  14.             {
  15.                 "type": "text",
  16.                 "text": "How many porcelain jars were discovered in the niches located in the primary chamber of the tomb?"
  17.             }
  18.         ]
  19.     }
  20. ]

  21. # When vLLM is launched with `--media-io-kwargs '{"video": {"num_frames": -1}}'`,
  22. # video frame sampling can be configured via `extra_body` (e.g., by setting `fps`).
  23. # This feature is currently supported only in vLLM.
  24. #
  25. # By default, `fps=2` and `do_sample_frames=True`.
  26. # With `do_sample_frames=True`, you can customize the `fps` value to set your desired video sampling rate.
  27. response = client.chat.completions.create(
  28.     model="Qwen/Qwen3.5-397B-A17B",
  29.     messages=messages,
  30.     max_tokens=81920,
  31.     temperature=0.6,
  32.     top_p=0.95,
  33.     extra_body={
  34.         "top_k": 20,
  35.         "mm_processor_kwargs": {"fps": 2, "do_sample_frames": True},
  36.     },
  37. )

  38. print("Chat response:", chat_response)
复制代码


指令(或非思考)模式IMPORTANT
Qwen3.5 不官方支持 Qwen3 的软切换指令,即 /think 和 /nothink。

Qwen3.5 默认会在响应前进行思考。
您可以通过配置 API 参数让模型直接返回响应,而不进行思考。
例如:
  1. from openai import OpenAI
  2. # Configured by environment variables
  3. client = OpenAI()

  4. messages = [
  5.     {
  6.         "role": "user",
  7.         "content": [
  8.             {
  9.                 "type": "image_url",
  10.                 "image_url": {
  11.                     "url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/RealWorld/RealWorld-04.png"
  12.                 }
  13.             },
  14.             {
  15.                 "type": "text",
  16.                 "text": "Where is this?"
  17.             }
  18.         ]
  19.     }
  20. ]

  21. chat_response = client.chat.completions.create(
  22.     model="Qwen/Qwen3.5-397B-A17B",
  23.     messages=messages,
  24.     max_tokens=32768,
  25.     temperature=0.7,
  26.     top_p=0.8,
  27.     presence_penalty=1.5,
  28.     extra_body={
  29.         "top_k": 20,
  30.         "chat_template_kwargs": {"enable_thinking": False},
  31.     },
  32. )
  33. print("Chat response:", chat_response)
复制代码
如果您使用的是阿里云百炼平台的 API,除了更改 model 外,请使用 "enable_thinking": False,而不是 "chat_template_kwargs": {"enable_thinking": False}。







2

主题

1

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 昨天 22:19 | 显示全部楼层
智能体(Agentic)用法
Qwen3.5 在工具调用能力方面表现出色。

Qwen-Agent
我们推荐使用 Qwen-Agent 快速构建基于 Qwen3.5 的智能体应用。

要定义可用的工具,您可以使用 MCP 配置文件、Qwen-Agent 内置的工具,或自行集成其他工具。
  1. import os
  2. from qwen_agent.agents import Assistant

  3. # Define LLM
  4. # Using Alibaba Cloud Model Studio
  5. llm_cfg = {
  6.     # Use the OpenAI-compatible model service provided by DashScope:
  7.     'model': 'Qwen3.5-397B-A17B',
  8.     'model_type': 'qwenvl_oai',
  9.     'model_server': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
  10.     'api_key': os.getenv('DASHSCOPE_API_KEY'),

  11.     'generate_cfg': {
  12.         'use_raw_api': True,
  13.         # When using Dash Scope OAI API, pass the parameter of whether to enable thinking mode in this way
  14.         'extra_body': {
  15.             'enable_thinking': True
  16.         },
  17.     },
  18. }

  19. # Using OpenAI-compatible API endpoint.
  20. # functionality of the deployment frameworks and let Qwen-Agent automate the related operations.
  21. #
  22. # llm_cfg = {
  23. #     # Use your own model service compatible with OpenAI API by vLLM/SGLang:
  24. #     'model': 'Qwen/Qwen3.5-397B-A17B',
  25. #     'model_type': 'qwenvl_oai',
  26. #     'model_server': 'http://localhost:8000/v1',  # api_base
  27. #     'api_key': 'EMPTY',
  28. #
  29. #     'generate_cfg': {
  30. #         'use_raw_api': True,
  31. #         # When using vLLM/SGLang OAI API, pass the parameter of whether to enable thinking mode in this way
  32. #         'extra_body': {
  33. #             'chat_template_kwargs': {'enable_thinking': True}
  34. #         },
  35. #     },
  36. # }

  37. # Define Tools
  38. tools = [
  39.     {'mcpServers': {  # You can specify the MCP configuration file
  40.             "filesystem": {
  41.                 "command": "npx",
  42.                 "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/xxxx/Desktop"]
  43.             }
  44.         }
  45.     }
  46. ]

  47. # Define Agent
  48. bot = Assistant(llm=llm_cfg, function_list=tools)

  49. # Streaming generation
  50. messages = [{'role': 'user', 'content': 'Help me organize my desktop.'}]
  51. for responses in bot.run(messages=messages):
  52.     pass
  53. print(responses)

  54. # Streaming generation
  55. messages = [{'role': 'user', 'content': 'Develop a dog website and save it on the desktop'}]
  56. for responses in bot.run(messages=messages):
  57.     pass
  58. print(responses)
复制代码
Qwen Code
Qwen Code 是一个面向终端的开源 AI 智能体,专为 Qwen 模型优化。它可帮助您理解大型代码库、自动化繁琐任务,并加速开发交付。

更多信息请参阅 Qwen Code。

超长文本处理
Qwen3.5 原生支持最多 262,144 个 token 的上下文长度。
对于总长度(包括输入和输出)超出此限制的长程任务,我们推荐使用 RoPE 缩放技术(如 YaRN)来高效处理长文本。

目前,YaRN 已被多个推理框架支持,例如 transformers、vllm、ktransformers 和 sglang。
通常,对于支持的框架,启用 YaRN 有两种方法:

修改模型配置文件:
在 config.json 文件中,将 text_config 中的 rope_parameters 字段修改为:
  1. {
  2.     "mrope_interleaved": true,
  3.     "mrope_section": [
  4.         11,
  5.         11,
  6.         10
  7.     ],
  8.     "rope_type": "yarn",
  9.     "rope_theta": 10000000,
  10.     "partial_rotary_factor": 0.25,
  11.     "factor": 4.0,
  12.     "original_max_position_embeddings": 262144,
  13. }
复制代码


通过命令行参数传递:

对于 vllm,可以使用:
  1. VLLM_USE_MODELSCOPE=true 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  
复制代码
对于 sglangktransformers,可以使用:
  1. SGLANG_USE_MODELSCOPE=true 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
复制代码

所有知名的开源框架均实现了静态 YaRN,这意味着缩放因子在输入长度变化时保持不变,可能会影响短文本上的性能。 我们建议仅在需要处理长上下文时才修改 rope_parameters 配置。 同时建议根据实际需求调整 factor 参数。例如,如果您的应用典型上下文长度为 524,288 个 token,则将 factor 设置为 2.0 更为合适。

最佳实践
为了获得最佳性能,我们推荐以下设置:

采样参数:

建议在“思考模式”下使用 Temperature=0.6、TopP=0.95、TopK=20 和 MinP=0;在“非思考模式”下使用 Temperature=0.7、TopP=0.8、TopK=20 和 MinP=0。
对于支持的框架,可将 presence_penalty 参数调整在 0 到 2 之间,以减少无休止的重复。但较高的值偶尔可能导致语言混杂,并略微降低模型性能。
充足的输出长度:我们建议对大多数查询使用 32,768 个 token 的输出长度。对于数学和编程竞赛等高度复杂问题的基准测试,建议将最大输出长度设为 81,920 个 token。这为模型提供了足够的空间生成详细而全面的回答,从而提升整体性能。

标准化输出格式:我们建议在基准测试时使用提示词(prompt)来标准化模型输出。

数学问题:在提示词中包含 “Please reason step by step, and put your final answer within \boxed{}.”。
选择题:在提示词中添加以下 JSON 结构以标准化响应:“Please show your choice in the answer field with only the choice letter, e.g., "answer": "C".”
历史记录中不包含思考内容:在多轮对话中,历史模型输出应仅包含最终输出部分,无需包含思考内容。这一点已在提供的 Jinja2 聊天模板中实现。但对于未直接使用 Jinja2 聊天模板的框架,开发者需自行确保遵循此最佳实践。

长视频理解:为优化纯文本和图像的推理效率,发布的 video_preprocessor_config.json 中的 size 参数采用了保守配置。建议将 video_preprocessor_config 文件中的 longest_edge 参数设为 469,762,048(对应 224k 视频 token),以支持小时级视频的更高帧率采样,从而获得更优性能。例如:
  1. {"longest_edge": 469762048, "shortest_edge": 4096}
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2026-3-13 04:06 , Processed in 0.272385 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表