analogbox commited on
Commit
d00d08d
·
verified ·
1 Parent(s): bf7a4d9

Upload folder using huggingface_hub

Browse files
.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,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Jackrong/Qwopus3.6-27B-Coder
3
+ tags:
4
+ - text-generation-inference
5
+ - transformers
6
+ - unsloth
7
+ - qwen3_6
8
+ - reasoning
9
+ - chain-of-thought
10
+ - lora
11
+ - sft
12
+ - agent
13
+ - tool-use
14
+ - function-calling
15
+ - coder
16
+ - mlx
17
+ - mlx-my-repo
18
+ license: apache-2.0
19
+ language:
20
+ - en
21
+ - zh
22
+ - es
23
+ - ru
24
+ - ja
25
+ pipeline_tag: text-generation
26
+ datasets:
27
+ - Jackrong/Claude-opus-4.6-TraceInversion-9000x
28
+ - Jackrong/Claude-opus-4.7-TraceInversion-5000x
29
+ - lambda/hermes-agent-reasoning-traces
30
+ ---
31
+
32
+ # analogbox/Qwopus3.6-27B-Coder-mlx-5Bit
33
+
34
+ The Model [analogbox/Qwopus3.6-27B-Coder-mlx-5Bit](https://huggingface.co/analogbox/Qwopus3.6-27B-Coder-mlx-5Bit) was converted to MLX format from [Jackrong/Qwopus3.6-27B-Coder](https://huggingface.co/Jackrong/Qwopus3.6-27B-Coder) using mlx-lm version **0.31.2**.
35
+
36
+ ## Use with mlx
37
+
38
+ ```bash
39
+ pip install mlx-lm
40
+ ```
41
+
42
+ ```python
43
+ from mlx_lm import load, generate
44
+
45
+ model, tokenizer = load("analogbox/Qwopus3.6-27B-Coder-mlx-5Bit")
46
+
47
+ prompt="hello"
48
+
49
+ if hasattr(tokenizer, "apply_chat_template") and tokenizer.chat_template is not None:
50
+ messages = [{"role": "user", "content": prompt}]
51
+ prompt = tokenizer.apply_chat_template(
52
+ messages, tokenize=False, add_generation_prompt=True
53
+ )
54
+
55
+ response = generate(model, tokenizer, prompt=prompt, verbose=True)
56
+ ```
chat_template.jinja ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ {%- if tools %}
3
+ {{- '<|im_start|>system
4
+ ' }}
5
+ {%- if messages[0].role == 'system' %}
6
+ {{- messages[0].content + '
7
+
8
+ ' }}
9
+ {%- endif %}
10
+ {{- "# Tools
11
+
12
+ You may call one or more functions to assist with the user query.
13
+
14
+ You are provided with function signatures within <tools></tools> XML tags:
15
+ <tools>" }}
16
+ {%- for tool in tools %}
17
+ {{- "
18
+ " }}
19
+ {{- tool | tojson }}
20
+ {%- endfor %}
21
+ {{- "
22
+ </tools>
23
+
24
+ For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
25
+ <tool_call>
26
+ {\"name\": <function-name>, \"arguments\": <args-json-object>}
27
+ </tool_call><|im_end|>
28
+ " }}
29
+ {%- else %}
30
+ {%- if messages[0].role == 'system' %}
31
+ {{- '<|im_start|>system
32
+ ' + messages[0].content + '<|im_end|>
33
+ ' }}
34
+ {%- endif %}
35
+ {%- endif %}
36
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
37
+ {%- for forward_message in messages %}
38
+ {%- set index = (messages|length - 1) - loop.index0 %}
39
+ {%- set message = messages[index] %}
40
+ {%- set current_content = message.content if message.content is not none else '' %}
41
+ {%- set tool_start = '<tool_response>' %}
42
+ {%- set tool_start_length = tool_start|length %}
43
+ {%- set start_of_message = current_content[:tool_start_length] %}
44
+ {%- set tool_end = '</tool_response>' %}
45
+ {%- set tool_end_length = tool_end|length %}
46
+ {%- set start_pos = (current_content|length) - tool_end_length %}
47
+ {%- if start_pos < 0 %}
48
+ {%- set start_pos = 0 %}
49
+ {%- endif %}
50
+ {%- set end_of_message = current_content[start_pos:] %}
51
+ {%- if ns.multi_step_tool and message.role == "user" and not(start_of_message == tool_start and end_of_message == tool_end) %}
52
+ {%- set ns.multi_step_tool = false %}
53
+ {%- set ns.last_query_index = index %}
54
+ {%- endif %}
55
+ {%- endfor %}
56
+ {%- for message in messages %}
57
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
58
+ {{- '<|im_start|>' + message.role + '
59
+ ' + message.content + '<|im_end|>' + '
60
+ ' }}
61
+ {%- elif message.role == "assistant" %}
62
+ {%- set content = message.content %}
63
+ {%- set reasoning_content = '' %}
64
+ {%- if message.reasoning_content is defined and message.reasoning_content is not none %}
65
+ {%- set reasoning_content = message.reasoning_content %}
66
+ {%- else %}
67
+ {%- if '</think>' in message.content %}
68
+ {%- set content = (message.content.split('</think>')|last).lstrip('
69
+ ') %}
70
+ {%- set reasoning_content = (message.content.split('</think>')|first).rstrip('
71
+ ') %}
72
+ {%- set reasoning_content = (reasoning_content.split('<think>')|last).lstrip('
73
+ ') %}
74
+ {%- endif %}
75
+ {%- endif %}
76
+ {%- if loop.index0 > ns.last_query_index %}
77
+ {%- if loop.last or (not loop.last and reasoning_content) %}
78
+ {{- '<|im_start|>' + message.role + '
79
+ <think>
80
+ ' + reasoning_content.strip('
81
+ ') + '
82
+ </think>
83
+
84
+ ' + content.lstrip('
85
+ ') }}
86
+ {%- else %}
87
+ {{- '<|im_start|>' + message.role + '
88
+ ' + content }}
89
+ {%- endif %}
90
+ {%- else %}
91
+ {{- '<|im_start|>' + message.role + '
92
+ ' + content }}
93
+ {%- endif %}
94
+ {%- if message.tool_calls %}
95
+ {%- for tool_call in message.tool_calls %}
96
+ {%- if (loop.first and content) or (not loop.first) %}
97
+ {{- '
98
+ ' }}
99
+ {%- endif %}
100
+ {%- if tool_call.function %}
101
+ {%- set tool_call = tool_call.function %}
102
+ {%- endif %}
103
+ {{- '<tool_call>
104
+ {"name": "' }}
105
+ {{- tool_call.name }}
106
+ {{- '", "arguments": ' }}
107
+ {%- if tool_call.arguments is string %}
108
+ {{- tool_call.arguments }}
109
+ {%- else %}
110
+ {{- tool_call.arguments | tojson }}
111
+ {%- endif %}
112
+ {{- '}
113
+ </tool_call>' }}
114
+ {%- endfor %}
115
+ {%- endif %}
116
+ {{- '<|im_end|>
117
+ ' }}
118
+ {%- elif message.role == "tool" %}
119
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
120
+ {{- '<|im_start|>user' }}
121
+ {%- endif %}
122
+ {{- '
123
+ <tool_response>
124
+ ' }}
125
+ {{- message.content }}
126
+ {{- '
127
+ </tool_response>' }}
128
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
129
+ {{- '<|im_end|>
130
+ ' }}
131
+ {%- endif %}
132
+ {%- endif %}
133
+ {%- endfor %}
134
+ {%- if add_generation_prompt %}
135
+ {{- '<|im_start|>assistant
136
+ ' }}
137
+ {%- if enable_thinking is defined and enable_thinking is false %}
138
+ {{- '<think>
139
+
140
+ </think>
141
+
142
+ ' }}
143
+ {%- endif %}
144
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "eos_token_id": [
6
+ 248046,
7
+ 248044
8
+ ],
9
+ "image_token_id": 248056,
10
+ "language_model_only": false,
11
+ "model_name": "Unsloth/qwen3.6-27B",
12
+ "model_type": "qwen3_5",
13
+ "mtp_num_hidden_layers": 1,
14
+ "pad_token_id": 248055,
15
+ "quantization": {
16
+ "group_size": 64,
17
+ "bits": 5,
18
+ "mode": "affine"
19
+ },
20
+ "quantization_config": {
21
+ "group_size": 64,
22
+ "bits": 5,
23
+ "mode": "affine"
24
+ },
25
+ "text_config": {
26
+ "attention_bias": false,
27
+ "attention_dropout": 0.0,
28
+ "attn_output_gate": true,
29
+ "bos_token_id": 248044,
30
+ "torch_dtype": "bfloat16",
31
+ "eos_token_id": 248044,
32
+ "full_attention_interval": 4,
33
+ "head_dim": 256,
34
+ "hidden_act": "silu",
35
+ "hidden_size": 5120,
36
+ "initializer_range": 0.02,
37
+ "intermediate_size": 17408,
38
+ "layer_types": [
39
+ "linear_attention",
40
+ "linear_attention",
41
+ "linear_attention",
42
+ "full_attention",
43
+ "linear_attention",
44
+ "linear_attention",
45
+ "linear_attention",
46
+ "full_attention",
47
+ "linear_attention",
48
+ "linear_attention",
49
+ "linear_attention",
50
+ "full_attention",
51
+ "linear_attention",
52
+ "linear_attention",
53
+ "linear_attention",
54
+ "full_attention",
55
+ "linear_attention",
56
+ "linear_attention",
57
+ "linear_attention",
58
+ "full_attention",
59
+ "linear_attention",
60
+ "linear_attention",
61
+ "linear_attention",
62
+ "full_attention",
63
+ "linear_attention",
64
+ "linear_attention",
65
+ "linear_attention",
66
+ "full_attention",
67
+ "linear_attention",
68
+ "linear_attention",
69
+ "linear_attention",
70
+ "full_attention",
71
+ "linear_attention",
72
+ "linear_attention",
73
+ "linear_attention",
74
+ "full_attention",
75
+ "linear_attention",
76
+ "linear_attention",
77
+ "linear_attention",
78
+ "full_attention",
79
+ "linear_attention",
80
+ "linear_attention",
81
+ "linear_attention",
82
+ "full_attention",
83
+ "linear_attention",
84
+ "linear_attention",
85
+ "linear_attention",
86
+ "full_attention",
87
+ "linear_attention",
88
+ "linear_attention",
89
+ "linear_attention",
90
+ "full_attention",
91
+ "linear_attention",
92
+ "linear_attention",
93
+ "linear_attention",
94
+ "full_attention",
95
+ "linear_attention",
96
+ "linear_attention",
97
+ "linear_attention",
98
+ "full_attention",
99
+ "linear_attention",
100
+ "linear_attention",
101
+ "linear_attention",
102
+ "full_attention"
103
+ ],
104
+ "linear_conv_kernel_dim": 4,
105
+ "linear_key_head_dim": 128,
106
+ "linear_num_key_heads": 16,
107
+ "linear_num_value_heads": 48,
108
+ "linear_value_head_dim": 128,
109
+ "mamba_ssm_dtype": "float32",
110
+ "max_position_embeddings": 262144,
111
+ "model_type": "qwen3_5_text",
112
+ "mtp_num_hidden_layers": 1,
113
+ "mtp_use_dedicated_embeddings": false,
114
+ "num_attention_heads": 24,
115
+ "num_hidden_layers": 64,
116
+ "num_key_value_heads": 4,
117
+ "output_gate_type": "swish",
118
+ "pad_token_id": null,
119
+ "partial_rotary_factor": 0.25,
120
+ "rms_norm_eps": 1e-06,
121
+ "rope_parameters": {
122
+ "mrope_interleaved": true,
123
+ "mrope_section": [
124
+ 11,
125
+ 11,
126
+ 10
127
+ ],
128
+ "partial_rotary_factor": 0.25,
129
+ "rope_theta": 10000000,
130
+ "type": "default"
131
+ },
132
+ "tie_word_embeddings": false,
133
+ "use_cache": true,
134
+ "vocab_size": 248320
135
+ },
136
+ "tie_word_embeddings": false,
137
+ "torch_dtype": "bfloat16",
138
+ "unsloth_fixed_mtp": true,
139
+ "unsloth_version": "2026.5.9",
140
+ "video_token_id": 248057,
141
+ "vision_end_token_id": 248054,
142
+ "vision_start_token_id": 248053
143
+ }
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 248044,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 248046,
6
+ 248044
7
+ ],
8
+ "pad_token_id": 248055,
9
+ "temperature": 1.0,
10
+ "top_k": 20,
11
+ "top_p": 0.95,
12
+ "transformers_version": "5.3.0"
13
+ }
model-00001-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b9743bd5ce498cd970e05a8038213345e01b1e55c0044c4a815a5aeb2c75811
3
+ size 5360417859
model-00002-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab0c013e604617a253d7ee7ff358f72e5d3afe8134d744f9321744e3f6589762
3
+ size 5338181777
model-00003-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:522a6202c1edb5c9fb83873b3d39c0d36dd85550c6e277f91174a020eb15cab0
3
+ size 5355925620
model-00004-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d66859d80cc4fd33dfafb8288e1e647219c620ca5043c8dcafc41edc1a0d69a
3
+ size 2440187747
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87a7830d63fcf43bf241c3c5242e96e62dd3fdc29224ca26fed8ea333db72de4
3
+ size 19989343
tokenizer_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "model_max_length": 262144,
14
+ "model_specific_special_tokens": {
15
+ "audio_bos_token": "<|audio_start|>",
16
+ "audio_eos_token": "<|audio_end|>",
17
+ "audio_token": "<|audio_pad|>",
18
+ "image_token": "<|image_pad|>",
19
+ "video_token": "<|video_pad|>",
20
+ "vision_bos_token": "<|vision_start|>",
21
+ "vision_eos_token": "<|vision_end|>"
22
+ },
23
+ "pad_token": "<|vision_pad|>",
24
+ "padding_side": "left",
25
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
26
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "TokenizersBackend",
29
+ "tool_parser_type": "json_tools",
30
+ "unk_token": null,
31
+ "video_token": "<|video_pad|>",
32
+ "vision_bos_token": "<|vision_start|>",
33
+ "vision_eos_token": "<|vision_end|>"
34
+ }