innospark commited on
Commit
2ceff7e
·
verified ·
1 Parent(s): 9509ca6

Upload model

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. README.md +191 -0
  3. chat_template.jinja +154 -0
  4. config.json +143 -0
  5. configuration.json +1 -0
  6. model-00000-of-00126.safetensors +3 -0
  7. model-00001-of-00126.safetensors +3 -0
  8. model-00002-of-00126.safetensors +3 -0
  9. model-00003-of-00126.safetensors +3 -0
  10. model-00004-of-00126.safetensors +3 -0
  11. model-00005-of-00126.safetensors +3 -0
  12. model-00006-of-00126.safetensors +3 -0
  13. model-00007-of-00126.safetensors +3 -0
  14. model-00008-of-00126.safetensors +3 -0
  15. model-00009-of-00126.safetensors +3 -0
  16. model-00010-of-00126.safetensors +3 -0
  17. model-00011-of-00126.safetensors +3 -0
  18. model-00012-of-00126.safetensors +3 -0
  19. model-00013-of-00126.safetensors +3 -0
  20. model-00014-of-00126.safetensors +3 -0
  21. model-00015-of-00126.safetensors +3 -0
  22. model-00016-of-00126.safetensors +3 -0
  23. model-00017-of-00126.safetensors +3 -0
  24. model-00018-of-00126.safetensors +3 -0
  25. model-00019-of-00126.safetensors +3 -0
  26. model-00020-of-00126.safetensors +3 -0
  27. model-00021-of-00126.safetensors +3 -0
  28. model-00022-of-00126.safetensors +3 -0
  29. model-00023-of-00126.safetensors +3 -0
  30. model-00024-of-00126.safetensors +3 -0
  31. model-00025-of-00126.safetensors +3 -0
  32. model-00026-of-00126.safetensors +3 -0
  33. model-00027-of-00126.safetensors +3 -0
  34. model-00028-of-00126.safetensors +3 -0
  35. model-00029-of-00126.safetensors +3 -0
  36. model-00030-of-00126.safetensors +3 -0
  37. model-00031-of-00126.safetensors +3 -0
  38. model-00032-of-00126.safetensors +3 -0
  39. model-00033-of-00126.safetensors +3 -0
  40. model-00034-of-00126.safetensors +3 -0
  41. model-00035-of-00126.safetensors +3 -0
  42. model-00036-of-00126.safetensors +3 -0
  43. model-00037-of-00126.safetensors +3 -0
  44. model-00038-of-00126.safetensors +3 -0
  45. model-00039-of-00126.safetensors +3 -0
  46. model-00040-of-00126.safetensors +3 -0
  47. model-00041-of-00126.safetensors +3 -0
  48. model-00042-of-00126.safetensors +3 -0
  49. model-00043-of-00126.safetensors +3 -0
  50. model-00044-of-00126.safetensors +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: text-generation
4
+ library_name: transformers
5
+ ---
6
+
7
+ <div align="center">
8
+ <img src="./figures/NEX_logo.svg" width="20%"/>
9
+ </div>
10
+
11
+ ---
12
+
13
+ <div align="center">
14
+ 🤗 <a href="https://hf.co/collections/nex-agi/nex-n2"><b>Model</b></a>&nbsp&nbsp | &nbsp&nbsp
15
+ 🔀 <a href="https://openrouter.ai/nex-agi/Nex-N2-Pro:free"><b>OpenRouter (Enjoy two weeks free starting June 9!)</b></a>&nbsp&nbsp | &nbsp&nbsp
16
+ 💻 <a href="https://github.com/nex-agi/Nex-N2"><b>Github</b></a>&nbsp&nbsp | &nbsp&nbsp
17
+ 🧭 <a href="https://www.modelscope.cn/collections/nex-agi/Nex-N2"><b>ModelScope</b></a>&nbsp&nbsp | &nbsp&nbsp
18
+ 🚀 <a href="https://nex-agi.com"><b>Nex-AGI</b></a>
19
+ </div>
20
+
21
+ # Nex-N2
22
+
23
+ **An agentic model with Agentic Thinking.**
24
+
25
+ Today, we are officially releasing and open-sourcing our next-generation model, **Nex-N2** — an agent model built for real-world productivity scenarios. With first-tier coding and agentic capabilities, Nex-N2 keeps driving complex, long-horizon tasks forward in real environments to deliver stable, end-to-end results.
26
+
27
+ Over the past year, a paradigm shift led by Vibe Coding and Harness Engineering has been redefining the limits of LLM agents. From dialogue, to reasoning, to agents that execute long-horizon tasks with environmental feedback, the tasks models must handle keep growing harder, the contexts longer, and the environments more realistic. The core of next-generation model competition is no longer *whether a model can think*, but whether it can reliably and efficiently turn thinking into actions that are executable, verifiable, and iterable.
28
+
29
+ Rather than treating reasoning, tool use, and environment execution as separate capabilities, Nex-N2 unifies them through an **Agentic Thinking** framework that connects requirement understanding, task planning, code implementation, environmental feedback, evaluation and debugging, and continuous iteration into a single closed loop. The framework has two parts:
30
+
31
+ - **Adaptive Thinking** lets the model decide on its own when to think and how deeply — executing simple actions quickly while reasoning thoroughly on critical decisions.
32
+ - **Coherent Thinking** carries one consistent reasoning paradigm across general reasoning and diverse agentic tasks, staying consistent across tasks and modalities to enable stable capability transfer.
33
+
34
+ Across real agentic workflows — agentic coding, deep research, tool calling, and terminal execution — Nex-N2 reaches first-tier performance, with substantial gains over the previous-generation Nex-N1 on multiple authoritative benchmarks. In real productivity scenarios such as OpenClaw one-person-company workflows, end-to-end game development, and web and multimodal generation, it likewise demonstrates outstanding usability, robustness, and stability.
35
+
36
+ ## Open Source
37
+
38
+ In keeping with our commitment to open source, we are releasing both **Nex-N2-Pro** and **Nex-N2-mini** as open-source models starting today.
39
+
40
+ - **Nex-N2-Pro:** [Hugging Face](https://huggingface.co/nex-agi/Nex-N2-Pro) | [ModelScope](https://www.modelscope.cn/models/nex-agi/Nex-N2-Pro)
41
+ - **Nex-N2-mini:** [Hugging Face](https://huggingface.co/nex-agi/Nex-N2-mini) | [ModelScope](https://www.modelscope.cn/models/nex-agi/Nex-N2-mini)
42
+ - **Early Access:** [SiliconFlow](https://cloud.siliconflow.cn/me/models?target=nex-agi%2FNex-N2-Pro)
43
+
44
+ We welcome developers and enterprises to integrate and try Nex-N2 and share their feedback.
45
+
46
+ ## Performance
47
+
48
+ We evaluate Nex-N2 in real agentic workflows along three directions — agentic tasks, coding tasks, and general tasks — covering benchmarks across tool calling, search-based decision-making, software engineering, and terminal execution. Nex-N2-Pro delivers strong performance that keeps pace with top-tier models such as GPT-5.5 and Opus 4.7: it excels at coding (e.g., 75.3 on Terminal-Bench 2.1) and long-horizon tasks (1585 on GDPval), and shows especially strong generalization and competitiveness on newer benchmarks like SWE-Atlas and DeepSWE. On general capability and core reasoning, it stands on par with leading frontier models.
49
+
50
+ ![Nex-N2 Benchmark Overview](./figures/Nex-N2-Benchmark-white.png)
51
+
52
+ Nex-N2 ships in two variants, both post-trained on the Qwen3.5 series: **Nex-N2-Pro** (built on `Qwen3.5-397B-A17B`) and **Nex-N2-mini** (built on `Qwen3.5-35B-A3B-Base`), covering different latency and quality trade-offs. The table below reports their scores alongside leading proprietary and open models across our full evaluation suite.
53
+
54
+ | Benchmark | **Nex-N2-mini** | **Nex-N2-Pro** | GPT-5.5 | Opus 4.7 | Kimi-K2.6 | GLM-5.1 | MiniMax M3 | DeepSeek-V4-Pro |
55
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- |
56
+ | **Agent** | | | | | | | | |
57
+ | BrowseComp | 74.1 | 83.7 | 84.4 | 79.8 | 83.2 | 79.3 | 83.5 | 83.4 |
58
+ | GDPval | 1402 | 1585 | 1769 | 1753 | 1481 | 1535 | - | 1554 |
59
+ | Toolathlon | 33.3 | 51.9 | 55.6 | 52.8 | 50.0 | 40.7 | - | 51.8 |
60
+ | WildClawBench | 47.7 | 53.5 | 58.2 | 62.2 | - | 48.2 | - | 43.7 |
61
+ | WideSearch | 62.0 | 75.6 | - | - | 80.8 | - | - | - |
62
+ | TAU3 | 65.9 | 71.1 | - | - | - | 70.6 | - | - |
63
+ | **Coding & SWE** | | | | | | | | |
64
+ | SWE-Bench Pro | 50.2 | 58.8 | 58.6 | 64.3 | 58.6 | 58.4 | 59.0 | 55.4 |
65
+ | Terminal-Bench 2.1 | 60.7 | 75.3 | 83.4 | 69.7 | - | 58.7 | 66.0 | 72.0 |
66
+ | DeepSWE | 8.0 | 33.6 | 70 | 54 | 24 | 18 | - | 8 |
67
+ | SWE-Bench Verified | 74.4 | 80.8 | 82.9 | 87.6 | 80.2 | - | 80.5 | 80.6 |
68
+ | SWE Atlas QnA | 31.5 | 37.9 | 45.4 | 45.2 | - | - | 37.9 | - |
69
+ | SWE Atlas RF | 30.0 | 32.9 | 44.8 | 48.6 | - | - | - | - |
70
+ | SWE Atlas TW | 23.3 | 40.0 | 42.6 | 38.2 | - | - | 30.8 | - |
71
+ | **General & Reasoning** | | | | | | | | |
72
+ | GPQA Diamond | 82.6 | 90.7 | 93.6 | 94.2 | 90.5 | 86.2 | - | 90.1 |
73
+ | IFEval | 89.1 | 94.0 | - | - | 94.5 | 94.5 | - | 91.9 |
74
+ | Apex | 9.4 | 36.5 | - | - | 24.0 | 11.5 | - | 38.3 |
75
+
76
+ ## Usage
77
+
78
+ ### Local Deployment
79
+
80
+ > **Note:** For the best performance with Nex-series models, we recommend serving them with our customized `sglang` fork.
81
+
82
+ First, install our `sglang` fork:
83
+
84
+ ```bash
85
+ # Use the customized `sglang` fork
86
+ git clone https://github.com/nex-agi/sglang.git
87
+ cd sglang
88
+
89
+ # Install the python packages
90
+ pip install --upgrade pip
91
+ pip install -e "python"
92
+ ```
93
+
94
+ #### Nex-N2-Pro
95
+
96
+ Launch the server (example on two 8× H100 servers with CUDA 13.0):
97
+
98
+ ```bash
99
+ # Multi-node (2 nodes). Run the same command on every node with:
100
+ # <node-rank> = 0 on the head node, 1 on the other node
101
+ # <node0-ip> = IP of the head node (reachable from all others)
102
+ python -m sglang.launch_server \
103
+ --model-path /path/to/your/model \
104
+ --tp 16 \
105
+ --nnodes 2 \
106
+ --node-rank <node-rank> \
107
+ --dist-init-addr <node0-ip>:20000 \
108
+ --reasoning-parser qwen3 \
109
+ --tool-call-parser qwen3_coder \
110
+ --mamba-scheduler-strategy extra_buffer
111
+ ```
112
+
113
+ #### Nex-N2-mini
114
+
115
+ Launch the server (example on one 2× H100 server with CUDA 13.0):
116
+
117
+ ```bash
118
+ python -m sglang.launch_server \
119
+ --model-path /path/to/your/model \
120
+ --tp 2 \
121
+ --reasoning-parser qwen3 \
122
+ --tool-call-parser qwen3_coder \
123
+ --mamba-scheduler-strategy extra_buffer
124
+ ```
125
+
126
+ ### Docker Deployment
127
+
128
+ We also provide a prebuilt Docker image with our customized `sglang` fork preinstalled: **`nexagi/sglang:v0.5.12`**. The launch command is the same as above.
129
+
130
+ #### Nex-N2-Pro
131
+
132
+ ```bash
133
+ # Multi-node (2 nodes). Run the same command on every node with:
134
+ # <node-rank> = 0 on the head node, 1 on the other node
135
+ # <node0-ip> = IP of the head node (reachable from all others)
136
+ docker run --gpus all --shm-size 32g --network host \
137
+ -v /path/to/your/model:/model \
138
+ nexagi/sglang:v0.5.12 \
139
+ python3 -m sglang.launch_server \
140
+ --model-path /model \
141
+ --tp 16 \
142
+ --nnodes 2 \
143
+ --node-rank <node-rank> \
144
+ --dist-init-addr <node0-ip>:20000 \
145
+ --host 0.0.0.0 --port 30000 \
146
+ --reasoning-parser qwen3 \
147
+ --tool-call-parser qwen3_coder \
148
+ --mamba-scheduler-strategy extra_buffer
149
+ ```
150
+
151
+ #### Nex-N2-mini
152
+
153
+ Single node with 2× H100:
154
+
155
+ ```bash
156
+ docker run --gpus all --shm-size 32g --ipc=host \
157
+ -p 30000:30000 \
158
+ -v /path/to/your/model:/model \
159
+ nexagi/sglang:v0.5.12 \
160
+ python3 -m sglang.launch_server \
161
+ --model-path /model \
162
+ --tp 2 \
163
+ --host 0.0.0.0 --port 30000 \
164
+ --reasoning-parser qwen3 \
165
+ --tool-call-parser qwen3_coder \
166
+ --mamba-scheduler-strategy extra_buffer
167
+ ```
168
+
169
+ ### Recommended Sampling Parameters
170
+
171
+ For the best generation quality, we recommend the following sampling parameters:
172
+
173
+ - `temperature`: 0.7
174
+ - `top_p`: 0.95
175
+ - `top_k`: 40
176
+
177
+ ### Function Calling
178
+
179
+ Nex-series models support robust function-calling capabilities. To enable function calling, add the `--tool-call-parser qwen3_coder` flag when launching the server:
180
+
181
+ ```bash
182
+ python -m sglang.launch_server --model-path /path/to/your/model --tool-call-parser qwen3_coder
183
+ ```
184
+
185
+ ### Reasoning Parser
186
+
187
+ Nex-series models emit explicit reasoning traces. Add the `--reasoning-parser qwen3` flag to parse the reasoning content separately from the final response. It can be combined with the function-calling parser above:
188
+
189
+ ```bash
190
+ python -m sglang.launch_server --model-path /path/to/your/model --tool-call-parser qwen3_coder --reasoning-parser qwen3
191
+ ```
chat_template.jinja ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- if tools and tools is iterable and tools is not mapping %}
46
+ {{- '<|im_start|>system\n' }}
47
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
+ {%- for tool in tools %}
49
+ {{- "\n" }}
50
+ {{- tool | tojson }}
51
+ {%- endfor %}
52
+ {{- "\n</tools>" }}
53
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
54
+ {%- if messages[0].role == 'system' %}
55
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
56
+ {%- if content %}
57
+ {{- '\n\n' + content }}
58
+ {%- endif %}
59
+ {%- endif %}
60
+ {{- '<|im_end|>\n' }}
61
+ {%- else %}
62
+ {%- if messages[0].role == 'system' %}
63
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
64
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
+ {%- endif %}
66
+ {%- endif %}
67
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
+ {%- for message in messages[::-1] %}
69
+ {%- set index = (messages|length - 1) - loop.index0 %}
70
+ {%- if ns.multi_step_tool and message.role == "user" %}
71
+ {%- set content = render_content(message.content, false)|trim %}
72
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
+ {%- set ns.multi_step_tool = false %}
74
+ {%- set ns.last_query_index = index %}
75
+ {%- endif %}
76
+ {%- endif %}
77
+ {%- endfor %}
78
+ {%- if ns.multi_step_tool %}
79
+ {{- raise_exception('No user query found in messages.') }}
80
+ {%- endif %}
81
+ {%- for message in messages %}
82
+ {%- set content = render_content(message.content, true)|trim %}
83
+ {%- if message.role == "system" %}
84
+ {%- if not loop.first %}
85
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
86
+ {%- endif %}
87
+ {%- elif message.role == "user" %}
88
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
+ {%- elif message.role == "assistant" %}
90
+ {%- set reasoning_content = '' %}
91
+ {%- if message.reasoning_content is string %}
92
+ {%- set reasoning_content = message.reasoning_content %}
93
+ {%- else %}
94
+ {%- if '</think>' in content %}
95
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
+ {%- endif %}
98
+ {%- endif %}
99
+ {%- set reasoning_content = reasoning_content|trim %}
100
+ {%- if reasoning_content %}
101
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
+ {%- else %}
103
+ {{- '<|im_start|>' + message.role + '\n' + content }}
104
+ {%- endif %}
105
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
+ {%- for tool_call in message.tool_calls %}
107
+ {%- if tool_call.function is defined %}
108
+ {%- set tool_call = tool_call.function %}
109
+ {%- endif %}
110
+ {%- if loop.first %}
111
+ {%- if content|trim %}
112
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
+ {%- else %}
114
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
+ {%- endif %}
116
+ {%- else %}
117
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
+ {%- endif %}
119
+ {%- if tool_call.arguments is defined %}
120
+ {%- for args_name, args_value in tool_call.arguments|items %}
121
+ {{- '<parameter=' + args_name + '>\n' }}
122
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
123
+ {{- args_value }}
124
+ {{- '\n</parameter>\n' }}
125
+ {%- endfor %}
126
+ {%- endif %}
127
+ {{- '</function>\n</tool_call>' }}
128
+ {%- endfor %}
129
+ {%- endif %}
130
+ {{- '<|im_end|>\n' }}
131
+ {%- elif message.role == "tool" %}
132
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
133
+ {{- '<|im_start|>user' }}
134
+ {%- endif %}
135
+ {{- '\n<tool_response>\n' }}
136
+ {{- content }}
137
+ {{- '\n</tool_response>' }}
138
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
139
+ {{- '<|im_end|>\n' }}
140
+ {%- elif loop.last %}
141
+ {{- '<|im_end|>\n' }}
142
+ {%- endif %}
143
+ {%- else %}
144
+ {{- raise_exception('Unexpected message role.') }}
145
+ {%- endif %}
146
+ {%- endfor %}
147
+ {%- if add_generation_prompt %}
148
+ {{- '<|im_start|>assistant\n' }}
149
+ {%- if enable_thinking is defined and enable_thinking is false %}
150
+ {{- '<think>\n\n</think>\n\n' }}
151
+ {%- else %}
152
+ {{- '<think>' }}
153
+ {%- endif %}
154
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5MoeForConditionalGeneration"
4
+ ],
5
+ "dtype": "bfloat16",
6
+ "hidden_size": 4096,
7
+ "image_token_id": 248056,
8
+ "model_type": "qwen3_5_moe",
9
+ "text_config": {
10
+ "attention_bias": false,
11
+ "attention_dropout": 0.0,
12
+ "attn_output_gate": true,
13
+ "bos_token_id": null,
14
+ "dtype": "bfloat16",
15
+ "eos_token_id": 248044,
16
+ "full_attention_interval": 4,
17
+ "head_dim": 256,
18
+ "hidden_act": "silu",
19
+ "hidden_size": 4096,
20
+ "initializer_range": 0.02,
21
+ "layer_types": [
22
+ "linear_attention",
23
+ "linear_attention",
24
+ "linear_attention",
25
+ "full_attention",
26
+ "linear_attention",
27
+ "linear_attention",
28
+ "linear_attention",
29
+ "full_attention",
30
+ "linear_attention",
31
+ "linear_attention",
32
+ "linear_attention",
33
+ "full_attention",
34
+ "linear_attention",
35
+ "linear_attention",
36
+ "linear_attention",
37
+ "full_attention",
38
+ "linear_attention",
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "full_attention",
42
+ "linear_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "full_attention",
46
+ "linear_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "full_attention",
50
+ "linear_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "full_attention",
54
+ "linear_attention",
55
+ "linear_attention",
56
+ "linear_attention",
57
+ "full_attention",
58
+ "linear_attention",
59
+ "linear_attention",
60
+ "linear_attention",
61
+ "full_attention",
62
+ "linear_attention",
63
+ "linear_attention",
64
+ "linear_attention",
65
+ "full_attention",
66
+ "linear_attention",
67
+ "linear_attention",
68
+ "linear_attention",
69
+ "full_attention",
70
+ "linear_attention",
71
+ "linear_attention",
72
+ "linear_attention",
73
+ "full_attention",
74
+ "linear_attention",
75
+ "linear_attention",
76
+ "linear_attention",
77
+ "full_attention",
78
+ "linear_attention",
79
+ "linear_attention",
80
+ "linear_attention",
81
+ "full_attention"
82
+ ],
83
+ "linear_conv_kernel_dim": 4,
84
+ "linear_key_head_dim": 128,
85
+ "linear_num_key_heads": 16,
86
+ "linear_num_value_heads": 64,
87
+ "linear_value_head_dim": 128,
88
+ "mamba_ssm_dtype": "float32",
89
+ "max_position_embeddings": 262144,
90
+ "mlp_only_layers": [],
91
+ "model_type": "qwen3_5_moe_text",
92
+ "moe_intermediate_size": 1024,
93
+ "mtp_num_hidden_layers": 1,
94
+ "mtp_use_dedicated_embeddings": false,
95
+ "num_attention_heads": 32,
96
+ "num_experts": 512,
97
+ "num_experts_per_tok": 10,
98
+ "num_hidden_layers": 60,
99
+ "num_key_value_heads": 2,
100
+ "output_router_logits": false,
101
+ "pad_token_id": null,
102
+ "partial_rotary_factor": 0.25,
103
+ "rms_norm_eps": 1e-06,
104
+ "rope_parameters": {
105
+ "mrope_interleaved": true,
106
+ "mrope_section": [
107
+ 11,
108
+ 11,
109
+ 10
110
+ ],
111
+ "partial_rotary_factor": 0.25,
112
+ "rope_theta": 10000000,
113
+ "rope_type": "default"
114
+ },
115
+ "router_aux_loss_coef": 0.001,
116
+ "shared_expert_intermediate_size": 1024,
117
+ "tie_word_embeddings": false,
118
+ "use_cache": true,
119
+ "vocab_size": 248320
120
+ },
121
+ "tie_word_embeddings": false,
122
+ "transformers_version": "5.2.0",
123
+ "video_token_id": 248057,
124
+ "vision_config": {
125
+ "deepstack_visual_indexes": [],
126
+ "depth": 27,
127
+ "dtype": "bfloat16",
128
+ "hidden_act": "gelu_pytorch_tanh",
129
+ "hidden_size": 1152,
130
+ "in_channels": 3,
131
+ "initializer_range": 0.02,
132
+ "intermediate_size": 4304,
133
+ "model_type": "qwen3_5_moe",
134
+ "num_heads": 16,
135
+ "num_position_embeddings": 2304,
136
+ "out_hidden_size": 4096,
137
+ "patch_size": 16,
138
+ "spatial_merge_size": 2,
139
+ "temporal_patch_size": 2
140
+ },
141
+ "vision_end_token_id": 248054,
142
+ "vision_start_token_id": 248053
143
+ }
configuration.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"framework":"Pytorch","task":"text-generation"}
model-00000-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5c71a94fffaa86f75e18e5672cabed99542fe389009f41ed365f0aca2753c226
3
+ size 2034237568
model-00001-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35b849ab8ed90c5aeefbb9d35d55c595a790669a54304449fa25112a1082b05e
3
+ size 8589934736
model-00002-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37b249894cfd05ba57d5694cc1c4957862b05a7058d0a76d2a5264532edfb034
3
+ size 4294967432
model-00003-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bb7ff1314bdfff213ec787ac6cb49f5e428cf3419502a513f6bd73ce133b2fdb
3
+ size 8589934736
model-00004-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:642260a0684d4e60a393162ad6b77384233da35e7e0c16008b980f78ad9bb662
3
+ size 4294967432
model-00005-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b82d922519fb041e85c599c3c0c5dc555fb9991c1ebd5de705744135e4c95a6
3
+ size 8589934736
model-00006-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e5c6c7d19d11faa68c135b03ff3a4760277867d2283dc4266c904991a0d40fb3
3
+ size 4294967432
model-00007-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:350064245ee6c672dc1bf06ec6fb4158d365f9ddbb70d3c2bc2ed4a99ce529ea
3
+ size 8589934736
model-00008-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f90cbf364010a7751688870787f8753f90e61c8abe6fca25c4c3dab22d25bce4
3
+ size 4294967432
model-00009-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d2ec6c7082a2696f867703784ec0e7c42ce5f061d09807d79f73e3b3150f656b
3
+ size 8589934736
model-00010-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c8ce6a2102a38f273dad553852c0ce7dbafa852deb56f191645389d0b1cebce
3
+ size 4294967432
model-00011-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34991c8f2768da2d66abfd9f5ce0d1df335af06d76f1b296e3862ab29381ce9b
3
+ size 8589934736
model-00012-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ca543a77ae2d15f4b2d5a7a4fda9ed7fe26ded6f43913ef844d2f628fa2c4d3
3
+ size 4294967432
model-00013-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:686e6e95a48a5e401f6d9a7108d7ea7dfe85e638095cbf1521e0c80d245b0cba
3
+ size 8589934736
model-00014-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d650a9d8938db003f279409938f66e0fbde6d84943bcf238ec9373fa16ed5354
3
+ size 4294967432
model-00015-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38b7b21c6273850b1bbd3af636e9317ca2bf0a177678d9a8cc1587acbba47fee
3
+ size 8589934736
model-00016-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a1d53316716bef06b94d1b83aad8f62e4fd65c1b6109303a13127fac26b9337
3
+ size 4294967432
model-00017-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1f2227167d772a5c1f4f87f1efadf7558dd09e8c24fae60a65d2e205b2665895
3
+ size 8589934736
model-00018-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:930351026f76068bdbbd74f3dc03c995bf1501c9a2aeacdd3cfff93fc13f8c12
3
+ size 4294967432
model-00019-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e846b9d7c36768100f6e1792a7659e89defc80379dd204ec53076a7c8c13312
3
+ size 8589934736
model-00020-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2143500d8b1431d6ead0aa22b0d78cc80cc8a590c0e13038dc7a1930408c1e90
3
+ size 4294967432
model-00021-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:861d147582a622c5007eafabe4036350f366b921a81904a8d0a712bc9e4b225a
3
+ size 8589934736
model-00022-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ca6438bc5469339f6ff7a32aea1bcd2c4626f7267794ad060014895ba1f7a4a
3
+ size 4294967432
model-00023-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eee3bf18c97999b6c24e5b9082e142ad91d5b4fd3b144c7e6e29fcb6c2b01eda
3
+ size 8589934736
model-00024-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f116aabf8a1a7553f642a58889276150e78f28ce4b154ad1f726be845c3e5b5a
3
+ size 4294967432
model-00025-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e03f3eec29f594e9fe3e8b038e5e168dfeefd6f5ff95ec4a17111aaa7019b60
3
+ size 8589934736
model-00026-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08eb249d49605e0db15d4656f5b432931fd3384db551339e0f2f38e2b263c0dc
3
+ size 4294967432
model-00027-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3f56e72d52a2d93596c7b504e7a85820012d4755e8950a964144762277df565
3
+ size 8589934736
model-00028-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ebf59a3b2cdfc222d5b84e5f09a07496c89951812d560bd798910e41a4e73c0
3
+ size 4294967432
model-00029-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5a823e76b7bc9290dc88bfe65942de1767c1fce128d9d5acf09ca0edee9e0a5
3
+ size 8589934736
model-00030-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a23aac67f0d65a833dde95dbfddcddbbe8ed5dff3ad87019c88e515ace77899f
3
+ size 5343546920
model-00031-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:27fe4421ade67205e2b175f147fb8830ff5b0f72477788294f046eebd1e670e3
3
+ size 2920820288
model-00032-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cf4b62958eadaed997e07b7847a4d146c7b4f59cf42b35be4148f7ba9e08df61
3
+ size 8589934736
model-00033-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1b0e689af05f19d27146c24da0101996b44ca09866b5648b0ea808243b128742
3
+ size 4395630872
model-00034-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e2be6fbd71c6d48e4f8e53a1d08d58a7cb654dd8c5414a1a5657f99f17eb8031
3
+ size 8589934736
model-00035-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4679e81489227eecd85178405c0c3a97ee7a44ccbf71f9475f4f60580e44f9bb
3
+ size 4294967432
model-00036-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d518f0551ddc45cb055b8391a18bdd62ee943541bba55435af08a7155dde74ea
3
+ size 8589934736
model-00037-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03bac66e9210a3ebc1c83d87b3d97bccb15b8e77802bce8cb738f075328362b1
3
+ size 4294967432
model-00038-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c301c56496e489577b0e944c85b77c73ded23a0eb02ab184d0616d4812b254ba
3
+ size 8589934736
model-00039-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c351a5ceaa16884abd8e3c5e40b10fff540e03d0148d8d0b8fdac666256b8e85
3
+ size 4294967432
model-00040-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ff28dd1abab3a4a835ddbe694327de69672397dccff691ce6f2073ac6e2cd42d
3
+ size 8589934736
model-00041-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:814c3a027cafe3a3a334cb8945087fa87696365c8f465a005b5fcc431e18cfaa
3
+ size 4362076440
model-00042-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:22559d0b041f52c78b0da3a2c9836aad1ed3ad0fb1fc9a8f479e9fc5dc6b408c
3
+ size 8589934736
model-00043-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9bb911ec31d831b133805237324eb135c7d9e724704f102592e9754a2c1c62c0
3
+ size 4294967432
model-00044-of-00126.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:130cdabc2b1f30fb15d3511f11507fbd6c00b606164d38395b7d79588ca0c97d
3
+ size 8589934736