NullVoider
/

NullVoider guoteng commited on
Commit
f46b31a
·
0 Parent(s):

Duplicate from nex-agi/Nex-N2-Pro

Browse files

Co-authored-by: wang <guoteng@users.noreply.huggingface.co>

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .eval_results/wildclawbench.yaml +9 -0
  2. .gitattributes +37 -0
  3. README.md +191 -0
  4. chat_template.jinja +154 -0
  5. config.json +143 -0
  6. figures/NEX_logo.svg +7 -0
  7. figures/Nex-N2-Benchmark-white.png +3 -0
  8. model-00001-of-00122.safetensors +3 -0
  9. model-00002-of-00122.safetensors +3 -0
  10. model-00003-of-00122.safetensors +3 -0
  11. model-00004-of-00122.safetensors +3 -0
  12. model-00005-of-00122.safetensors +3 -0
  13. model-00006-of-00122.safetensors +3 -0
  14. model-00007-of-00122.safetensors +3 -0
  15. model-00008-of-00122.safetensors +3 -0
  16. model-00009-of-00122.safetensors +3 -0
  17. model-00010-of-00122.safetensors +3 -0
  18. model-00011-of-00122.safetensors +3 -0
  19. model-00012-of-00122.safetensors +3 -0
  20. model-00013-of-00122.safetensors +3 -0
  21. model-00014-of-00122.safetensors +3 -0
  22. model-00015-of-00122.safetensors +3 -0
  23. model-00016-of-00122.safetensors +3 -0
  24. model-00017-of-00122.safetensors +3 -0
  25. model-00018-of-00122.safetensors +3 -0
  26. model-00019-of-00122.safetensors +3 -0
  27. model-00020-of-00122.safetensors +3 -0
  28. model-00021-of-00122.safetensors +3 -0
  29. model-00022-of-00122.safetensors +3 -0
  30. model-00023-of-00122.safetensors +3 -0
  31. model-00024-of-00122.safetensors +3 -0
  32. model-00025-of-00122.safetensors +3 -0
  33. model-00026-of-00122.safetensors +3 -0
  34. model-00027-of-00122.safetensors +3 -0
  35. model-00028-of-00122.safetensors +3 -0
  36. model-00029-of-00122.safetensors +3 -0
  37. model-00030-of-00122.safetensors +3 -0
  38. model-00031-of-00122.safetensors +3 -0
  39. model-00032-of-00122.safetensors +3 -0
  40. model-00033-of-00122.safetensors +3 -0
  41. model-00034-of-00122.safetensors +3 -0
  42. model-00035-of-00122.safetensors +3 -0
  43. model-00036-of-00122.safetensors +3 -0
  44. model-00037-of-00122.safetensors +3 -0
  45. model-00038-of-00122.safetensors +3 -0
  46. model-00039-of-00122.safetensors +3 -0
  47. model-00040-of-00122.safetensors +3 -0
  48. model-00041-of-00122.safetensors +3 -0
  49. model-00042-of-00122.safetensors +3 -0
  50. model-00043-of-00122.safetensors +3 -0
.eval_results/wildclawbench.yaml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ - dataset:
2
+ id: internlm/WildClawBench
3
+ task_id: overall
4
+ value: 53.5
5
+ date: "2026-05-22"
6
+ source:
7
+ url: https://internlm.github.io/WildClawBench
8
+ name: WildClawBench
9
+ user: internlm
.gitattributes ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz 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
37
+ figures/Nex-N2-Benchmark-white.png 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
+ }
figures/NEX_logo.svg ADDED
figures/Nex-N2-Benchmark-white.png ADDED

Git LFS Details

  • SHA256: 3fba33987e529cc9fffe491128389f7c162bab9b6cc0199cdab60c3c349a0a93
  • Pointer size: 131 Bytes
  • Size of remote file: 590 kB
model-00001-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9c6b016494d82f42e57f5c28d9ddffd5af8c81cf26c977dd36bdd864bda91ef
3
+ size 3211703200
model-00002-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39755f3246369adf0d8e253c3954e2b12da3bba655cdbc95b6c140ffcf385025
3
+ size 8589934736
model-00003-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f9a4df1d8d7a0900d76f31bdb1cd73a8eeee831777d452f50561daa394cb0e8
3
+ size 4560382680
model-00004-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87299367bd7fa2917179e1af18058234d9101419789e3e71cfc463d348ac1db9
3
+ size 8589934736
model-00005-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1550371623ae1753a6d080bbab426c2e0a67cf1031f32913f4a04efb4f268c24
3
+ size 4560382680
model-00006-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e04efc7481e5342b28c093ce0ef0077e25b3b24da0e5fb4ca9a310c660bf057
3
+ size 8589934736
model-00007-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:773cfa0af38128557108749b91ee961f497be20ce113fc1115e182d10398a22f
3
+ size 4534070088
model-00008-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4e1ced164923558b72a80b72a9b8baab5f5cde777130578c4b8b0e9e4e9e0a44
3
+ size 8589934736
model-00009-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9e9ac0530ca9ee24088094ad1f2ed4b51a4b4f305703606dca2c93772572593
3
+ size 4560382680
model-00010-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:20a32c4b0d3c1bf2dd36cfe5fd23a290a56e076b9bddcd8ed1bf0512f1731ad2
3
+ size 8589934736
model-00011-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7fdf5a5f564003852482c2dd805f71c4cd0148a2863fc061c35b92ae2f874ee3
3
+ size 4560382680
model-00012-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c806c8ddb98ffbf1574ce658f335948e189da93a0d47059c7e71022675d660c2
3
+ size 8589934736
model-00013-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb65d906542b45eedbb0f796db57be4cb071930efa8d7c57966ecce8112ba6a3
3
+ size 4560382680
model-00014-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c276f507d63b241a46805566c08fede804c4408252655b41908a782df5625027
3
+ size 8589934736
model-00015-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:832c42d23c4d03acc69a46ded7c206750a70afc2ba0935ce80a3d7e9fbbaf7fe
3
+ size 4534070088
model-00016-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:52c33531f26055a4ca69da5070379f3bd4b7e8f4daabec0ca00e26764f239517
3
+ size 8589934736
model-00017-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c264e1214dd10553d6524ba8d93d9086816651c604b0edbbfd42cef0b6b796c9
3
+ size 4560382680
model-00018-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:81c4bd4d0a85bd48c678e7cd1ba86ebbbe427a842f4e99635c0d166a9764dcde
3
+ size 8589934736
model-00019-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fcbb2b7bb39a810fae67c53ad84a9f4e4f8fae482bd509a23a36f37c5f72107b
3
+ size 4560382680
model-00020-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b9bd28a2b254d44f725d2f544011c1f9325441419c06f92b75f7346fa12d2a0f
3
+ size 8589934736
model-00021-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c1ac48ba53225932cf34b9d40b41b9b8342ad2ee9aae9bce91ae9aeb93c9765
3
+ size 4560382624
model-00022-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f09d8da0e8338adcbe74c86a0bc13740f55e68574a6687ac495af86f97b3657
3
+ size 8589934736
model-00023-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e0e2ad64c866dc1c6cbf6220d05a058582b5994c7cde402ecd26dada7f06672
3
+ size 4534070104
model-00024-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67e45fe71206ccb6f335f54fe0e331517678475744d787840a2b069d0a85f822
3
+ size 8589934736
model-00025-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b741f4f99015e6692304c054fd2d0ba6933d8366662504b836fc935c5f3f502
3
+ size 4560382696
model-00026-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0684065b05b6d21a3d905deb793da18c29be8ddb0139eaa63d39c28ee0ad638f
3
+ size 8589934736
model-00027-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ad8259eff54d6184549549b00adfb6708a20c9bc05db698d9375405cc0fa2d08
3
+ size 4560382696
model-00028-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:69675e113b50a831697e5d1c7343511b398027843598915eabc634cb8ed38acc
3
+ size 8589934736
model-00029-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c0ba63b2e81197304620dd80b8867dd23da64420f2aa2c1871d660e0cebc812
3
+ size 4560382696
model-00030-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9c187ca41082b743d71d0a9e0ea5cc9ebf00a5b87a28c48177bad1b8ec5f8a8
3
+ size 8589934736
model-00031-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c59a133f05d8e9adbf5c70190a1eda883f98097b5596e7a2dea41dedadc17d0e
3
+ size 4534070104
model-00032-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:822c9d521ef7552ee3f1f4cadbc96f5d9fb127920ed5ffc0f61f2a2e3327ae5a
3
+ size 8589934736
model-00033-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:71ecae56174f3c7dce1f56fe05c7d8ad0f361d50c4d6fdaf536ddc49219f6415
3
+ size 4560382696
model-00034-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94b12f986c694bd930e46c5db9daf8824147dfa5cddc54237212a0cc7afaa226
3
+ size 8589934736
model-00035-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:62c8d6a342c084bbe6b322f85dc8b0068d145b825c66d8a9b45bd735dfa90bb2
3
+ size 4560382696
model-00036-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03fca81caf611a9bdc19acba34b594e5f4893f820a3d13e4d136ba66fd858e95
3
+ size 8589934736
model-00037-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:904e9b94e0a3199932e43fa5b28dbe7ee01785ff9e354b15129a0ddc5db85c9e
3
+ size 4560382696
model-00038-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c2ffcd57a045e7d680629481c9d8e70a444e18b9a440efed48a80dc01ed6d51
3
+ size 8589934736
model-00039-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d4d970b2ddad62e5a13dd453e22366c4839eff5252da864e7dd15a29fa3c2b3
3
+ size 4534070104
model-00040-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f4b019b26dfb32f3e56ff0188aa2643cb349169ee96b405d6d744624abf9059e
3
+ size 8589934736
model-00041-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:95f7bc9dceea0763bed6fb11cf3b05fecf6538d771cc26e170217d8894110da2
3
+ size 4560382696
model-00042-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab2d54cbff0deec4cefa4a4dd35ff3bc7969077348a35961fc903427693fd78b
3
+ size 8589934736
model-00043-of-00122.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c98687161e665d6c84997bcfc76bb458e91247aa8bfd80894b1ebc39708f8793
3
+ size 4560382696