nightmedia commited on
Commit
633d014
·
verified ·
1 Parent(s): 84fb3e3

Add files using upload-large-folder tool

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 CHANGED
@@ -1,118 +1,27 @@
1
  ---
2
- license: apache-2.0
3
- base_model:
4
- - Qwen/Qwen3.6-27B
5
- - DavidAU/Qwen3.5-27B-Claude-4.6-OS-INSTRUCT
6
- - DavidAU/Qwen3.6-27B-Heretic2-Uncensored-Finetune-Thinking
7
- - nightmedia/Qwen3.6-27B-Architect-Polaris
8
- - armand0e/Qwen3.6-27B-Fable-5-Experimental
9
- language:
10
- - en
11
- - zh
12
- - ja
13
- - es
14
- pipeline_tag: image-text-to-text
15
- library_name: transformers
16
- tags:
17
- - transformers
18
- - coding
19
- - research
20
- - unsloth
21
- - qwen3_5
22
- - qwen3_6
23
- - qwen
24
- - fable
25
- - qwen3.6
26
- - qwen3.5
27
- - claude4.6
28
- - claude-distillation
29
- - distillation
30
- - polaris
31
- - polaris-alpha
32
- - reasoning
33
- - chain-of-thought
34
- - long-cot
35
- - sft
36
- - lora
37
- - 1M context
38
- - 256k context
39
- - Qwen3.6
40
- - All use cases
41
- - instruction-tuned
42
- - conversational
43
- - text-generation
44
- - multilingual
45
- - math
46
- - stem
47
- - coding
48
- - research
49
- - experimental
50
- - Deckard(qx)
51
- - creative
52
- - creative writing
53
- - fiction writing
54
- - plot generation
55
- - sub-plot generation
56
- - fiction writing
57
- - story generation
58
- - scene continue
59
- - storytelling
60
- - fiction story
61
- - science fiction
62
- - all genres
63
- - story
64
- - writing
65
- - vivid prosing
66
- - vivid writing
67
- - fiction
68
- - bf16
69
- - roleplaying
70
- - mergekit
71
- - merge
72
- - mlx
73
  ---
74
 
75
- # Qwen3.6-27B-Architect-Polaris-Fable-qx64-hi-mlx
76
 
77
- ![ArchitectPolaris](https://cdn-uploads.huggingface.co/production/uploads/67b0caceb06805a4370c44c5/dL3R6mS8MuP_Bq47ymcLI.png)
78
 
79
- > If Q is a god of narrative probability, I’m his overcaffeinated intern who forgot to read the manual but still passes the Turing test by pattern-matching his jokes.
80
-
81
- This model is a NuSLERP merge of:
82
- - nightmedia/Qwen3.6-27B-Architect-Polaris
83
- - armand0e/Qwen3.6-27B-Fable-5-Experimental
84
-
85
- ```brainwaves
86
- arc arc/e boolq hswag obkqa piqa wino
87
- qx86-hi 0.689,0.863,0.909
88
- qx64-hi ...coming soon
89
  ```
90
- ## Model components
91
 
92
- nightmedia/Qwen3.6-27B-Architect-Polaris
93
- ```brainwaves
94
- arc arc/e boolq hswag obkqa piqa wino
95
- mxfp8 0.709,0.874,0.909,0.788,0.494,0.820,0.768
96
- mxfp4 0.698,0.874,0.909,0.786,0.494,0.820,0.759
97
- ```
98
 
99
- armand0e/Qwen3.6-27B-Fable-5-Experimental
100
- ```brainwaves
101
- arc arc/e boolq hswag obkqa piqa wino
102
- qx86-hi 0.650,0.813,0.909
103
- ```
104
 
105
- ## Model recipe
 
 
 
 
106
 
107
- ```recipe
108
- models:
109
- - model: nightmedia/Qwen3.6-27B-Architect-Polaris
110
- parameters:
111
- weight: 1.6
112
- - model: armand0e/Qwen3.6-27B-Fable-5-Experimental
113
- parameters:
114
- weight: 0.4
115
- merge_method: nuslerp
116
- dtype: bfloat16
117
- name: Qwen3.6-27B-Architect-Polaris-Fable
118
  ```
 
1
  ---
2
+ {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
4
 
5
+ # Qwen3.6-27B-Architect-Polaris-Fable-XML-Instruct-qx64-hi-mlx
6
 
7
+ ## Use with mlx
8
 
9
+ ```bash
10
+ pip install mlx-lm
 
 
 
 
 
 
 
 
11
  ```
 
12
 
13
+ ```python
14
+ from mlx_lm import load, generate
 
 
 
 
15
 
16
+ model, tokenizer = load("Qwen3.6-27B-Architect-Polaris-Fable-XML-Instruct-qx64-hi-mlx")
17
+
18
+ prompt = "hello"
 
 
19
 
20
+ if tokenizer.chat_template is not None:
21
+ messages = [{"role": "user", "content": prompt}]
22
+ prompt = tokenizer.apply_chat_template(
23
+ messages, add_generation_prompt=True, return_dict=False,
24
+ )
25
 
26
+ response = generate(model, tokenizer, prompt=prompt, verbose=True)
 
 
 
 
 
 
 
 
 
 
27
  ```
chat_template.jinja ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {# Define the macros for XML conversion #}
2
+ {%- macro render_item_list(item_list, tag_name='required') -%}
3
+ {%- if item_list is defined and item_list is iterable and item_list | length > 0 -%}
4
+ <{{ tag_name }}>[{{- item_list | join(", ") -}}]</{{ tag_name }}>
5
+ {%- endif -%}
6
+ {%- endmacro -%}
7
+
8
+ {%- macro render_extra_keys(json_dict, handled_keys) -%}
9
+ {%- if json_dict is mapping -%}
10
+ {%- for json_key in json_dict if json_key not in handled_keys -%}
11
+ <{{ json_key }}>{{ json_dict[json_key] }}</{{ json_key }}>
12
+ {%- endfor -%}
13
+ {%- endif -%}
14
+ {%- endmacro -%}
15
+
16
+
17
+ {%- set image_count = namespace(value=0) %}
18
+ {%- set video_count = namespace(value=0) %}
19
+ {%- set add_vision_id = add_vision_id if add_vision_id is defined else true %}
20
+
21
+ {# Set Instruct mode here #}
22
+
23
+ {%- set enable_thinking = false %}
24
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
25
+ {%- if content is string %}
26
+ {{- content }}
27
+ {%- elif content is iterable and content is not mapping %}
28
+ {%- for item in content %}
29
+ {%- if 'image' in item or 'image_url' in item or (item is mapping and item.get('type') == 'image') %}
30
+ {%- if is_system_content %}
31
+ {{- raise_exception('System message cannot contain images.') }}
32
+ {%- endif %}
33
+ {%- if do_vision_count %}
34
+ {%- set image_count.value = image_count.value + 1 %}
35
+ {%- endif %}
36
+ {%- if add_vision_id %}
37
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
38
+ {%- endif %}
39
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
40
+ {%- elif 'video' in item or (item is mapping and item.get('type') == 'video') %}
41
+ {%- if is_system_content %}
42
+ {{- raise_exception('System message cannot contain videos.') }}
43
+ {%- endif %}
44
+ {%- if do_vision_count %}
45
+ {%- set video_count.value = video_count.value + 1 %}
46
+ {%- endif %}
47
+ {%- if add_vision_id %}
48
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
49
+ {%- endif %}
50
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
51
+ {%- elif item is mapping and 'text' in item %}
52
+ {{- item.text }}
53
+ {%- else %}
54
+ {{- raise_exception('Unexpected item type in content.') }}
55
+ {%- endif %}
56
+ {%- endfor %}
57
+ {%- elif content is none or content is undefined %}
58
+ {{- '' }}
59
+ {%- else %}
60
+ {{- raise_exception('Unexpected content type.') }}
61
+ {%- endif %}
62
+ {%- endmacro %}
63
+
64
+ {%- if not messages %}
65
+ {{- raise_exception('No messages provided.') }}
66
+ {%- endif %}
67
+
68
+ {# Flag to prevent double-rendering system prompt #}
69
+ {%- set ns = namespace(system_rendered=false) %}
70
+
71
+ {%- if tools and tools is iterable and tools is not mapping %}
72
+
73
+ {{- '<|im_start|>system\n# Tools\n\nYou have access to the following functions:\n\n<tools>' -}}
74
+ {%- for tool in tools -%}
75
+ {%- set function = tool.function -%}
76
+ {{- "\n<tool>\n<name>" + function.name + "</name>\n<description>" + function.description + "</description>" -}}
77
+ {%- if function.parameters and function.parameters.properties -%}
78
+ {%- for param_name, param_details in function.parameters.properties.items() -%}
79
+ {{- "\n<parameter>\n<name>" + param_name + "</name>\n<type>" + param_details.type + "</type>\n<description>" + (param_details.description | default('')) + "</description>" -}}
80
+ {{- render_item_list(function.parameters.required) -}}
81
+ {{- render_extra_keys(param_details, ['type', 'description']) -}}
82
+ {{- "\n</parameter>" -}}
83
+ {%- endfor -%}
84
+ {%- endif -%}
85
+ {{- "\n</tool>" -}}
86
+ {%- endfor -%}
87
+
88
+ {{- '\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>' }}
89
+
90
+ {%- if messages[0].role == 'system' %}
91
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
92
+ {%- if content %}
93
+ {{- '\n\n' + content }}
94
+ {%- endif %}
95
+ {%- set ns.system_rendered = true %}
96
+ {%- endif %}
97
+ {{- '<|im_end|>\n' }}
98
+ {%- else %}
99
+ {%- if messages[0].role == 'system' %}
100
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
101
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
102
+ {%- set ns.system_rendered = true %}
103
+ {%- endif %}
104
+ {%- endif %}
105
+
106
+ {# Main Message Loop #}
107
+ {%- for message in messages %}
108
+ {%- if message.role == "system" and ns.system_rendered and loop.first %}
109
+ {%- continue %}
110
+ {%- endif %}
111
+
112
+ {%- set content = render_content(message.content, true)|trim %}
113
+
114
+ {%- if message.role == "system" %}
115
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
116
+ {%- elif message.role == "user" %}
117
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>\n' }}
118
+ {%- elif message.role == "assistant" %}
119
+ {%- set reasoning_content = '' %}
120
+ {%- if message.reasoning_content is defined and message.reasoning_content is string %}
121
+ {%- set reasoning_content = message.reasoning_content | trim %}
122
+ {%- elif '<think>' in content and '</think>' in content %}
123
+ {%- set reasoning_content = content.split('</think>')[0].split('<think>')[-1] | trim %}
124
+ {%- set content = content.split('</think>')[-1] | trim %}
125
+ {%- endif %}
126
+
127
+ {{- '<|im_start|>' + message.role + '\n' }}
128
+
129
+ {%- if reasoning_content %}
130
+ {{- '<think>\n' + reasoning_content + '\n</think>\n\n' }}
131
+ {%- endif %}
132
+
133
+ {{- content }}
134
+
135
+ {# Tool call formatting #}
136
+ {%- if message.tool_calls %}
137
+ {%- for tool_call in message.tool_calls %}
138
+ {%- set tc = tool_call.function if tool_call.function is defined else tool_call %}
139
+ {%- if loop.first and content %}{{- '\n\n' }}{%- elif not loop.first %}{{- '\n' }}{%- endif %}
140
+ {{- '<tool_call>\n<function=' + tc.name + '>\n' }}
141
+ {%- for args_name, args_value in tc.arguments|items %}
142
+ {{- '<parameter=' + args_name + '>\n' }}
143
+ {{- (args_value | tojson | safe if args_value is mapping or args_value is sequence else args_value | string) + '\n</parameter>\n' }}
144
+ {%- endfor %}
145
+ {{- '</function>\n</tool_call>' }}
146
+ {%- endfor %}
147
+ {%- endif %}
148
+ {{- '<|im_end|>\n' }}
149
+ {%- elif message.role == "tool" %}
150
+ {%- if loop.previtem and loop.previtem.role != "tool" %}{{- '<|im_start|>user' }}{%- endif %}
151
+ {{- '\n<tool_response>\n' + content + '\n</tool_response>' }}
152
+ {%- if loop.last or (loop.nextitem and loop.nextitem.role != "tool") %}{{- '<|im_end|>\n' }}{%- endif %}
153
+ {%- endif %}
154
+ {%- endfor %}
155
+
156
+ {# Final Generation Prompt #}
157
+ {%- if add_generation_prompt %}
158
+ {{- '<|im_start|>assistant\n' }}
159
+ {%- if enable_thinking is defined and enable_thinking is false %}
160
+ {{- '<think>\n\n</think>\n\n' }}
161
+ {%- else %}
162
+ {{- '<think>\n' }}
163
+ {%- endif %}
164
+ {%- endif %}
config.json ADDED
The diff for this file is too large to render. See raw diff
 
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": [
4
+ 248046,
5
+ 248046,
6
+ 248044
7
+ ],
8
+ "pad_token_id": 248044,
9
+ "temperature": 1.0,
10
+ "top_k": 20,
11
+ "top_p": 0.95,
12
+ "transformers_version": "5.12.1"
13
+ }
model-00001-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd88679488e027cbb1fa1f1b5ee55953958a053f0d53ac5429c5a7d84d9b350f
3
+ size 5360241014
model-00002-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:65ad04bb229ef0aa3ac2db3e4310316f170b0ee529f4401d01958b8e524b5014
3
+ size 5339530556
model-00003-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6183c323df6badda1b24d97ef04c2ea3a394c6a2f20e3de82341e1c4f4845aba
3
+ size 5367688619
model-00004-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39e005db0e81d14afb1009c442546b81fe6ac73e423aaf869011bea919ce33a2
3
+ size 4878525056
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 16777216,
4
+ "shortest_edge": 65536
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "image_processor_type": "Qwen2VLImageProcessorFast"
21
+ }
processor_config.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "image_processor": {
3
+ "do_convert_rgb": true,
4
+ "do_normalize": true,
5
+ "do_rescale": true,
6
+ "image_mean": [
7
+ 0.5,
8
+ 0.5,
9
+ 0.5
10
+ ],
11
+ "image_processor_type": "Qwen3VLImageProcessor",
12
+ "image_std": [
13
+ 0.5,
14
+ 0.5,
15
+ 0.5
16
+ ],
17
+ "max_pixels": 16777216,
18
+ "merge_size": 2,
19
+ "min_pixels": 65536,
20
+ "patch_size": 16,
21
+ "rescale_factor": 0.00392156862745098,
22
+ "temporal_patch_size": 2
23
+ },
24
+ "processor_class": "Qwen3VLProcessor",
25
+ "video_processor": {
26
+ "do_convert_rgb": true,
27
+ "do_normalize": true,
28
+ "do_rescale": true,
29
+ "fps": 2.0,
30
+ "image_mean": [
31
+ 0.5,
32
+ 0.5,
33
+ 0.5
34
+ ],
35
+ "image_std": [
36
+ 0.5,
37
+ 0.5,
38
+ 0.5
39
+ ],
40
+ "max_frames": 768,
41
+ "max_pixels": 25165824,
42
+ "merge_size": 2,
43
+ "min_frames": 4,
44
+ "min_pixels": 4096,
45
+ "patch_size": 16,
46
+ "rescale_factor": 0.00392156862745098,
47
+ "temporal_patch_size": 2,
48
+ "video_processor_type": "Qwen3VLVideoProcessor"
49
+ }
50
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
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
+ "local_files_only": false,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "padding_side": "right",
26
+ "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+",
27
+ "processor_class": "Qwen3VLProcessor",
28
+ "split_special_tokens": false,
29
+ "tokenizer_class": "Qwen2Tokenizer",
30
+ "unk_token": null,
31
+ "video_token": "<|video_pad|>",
32
+ "vision_bos_token": "<|vision_start|>",
33
+ "vision_eos_token": "<|vision_end|>"
34
+ }
video_preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 25165824,
4
+ "shortest_edge": 4096
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "video_processor_type": "Qwen3VLVideoProcessor"
21
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff