hf-transformers-bot commited on
Commit
c8dbb0e
·
verified ·
1 Parent(s): cd5eae2

Update tiny models for Kimi_K25VisionModel

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
chat_template.jinja ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- macro render_content(msg) -%}
2
+ {%- set c = msg.get('content') -%}
3
+ {%- if c is string -%}
4
+ {{ c }}
5
+ {%- elif c is not none -%}
6
+ {% for content in c -%}
7
+ {% if content['type'] == 'image' or content['type'] == 'image_url' -%}
8
+ <|media_begin|>image<|media_content|><|media_pad|><|media_end|>
9
+ {% elif content['type'] == 'video' or content['type']== 'video_url'-%}
10
+ <|kimi_k25_video_placeholder|>
11
+ {% else -%}
12
+ {{ content['text'] }}
13
+ {%- endif -%}
14
+ {%- endfor -%}
15
+ {%- endif -%}
16
+ {%- endmacro -%}
17
+
18
+ {% macro set_roles(message) -%}
19
+ {%- set role_name = message.get('name') or message['role'] -%}
20
+ {%- if message['role'] == 'user' -%}
21
+ <|im_user|>{{role_name}}<|im_middle|>
22
+ {%- elif message['role'] == 'assistant' -%}
23
+ <|im_assistant|>{{role_name}}<|im_middle|>
24
+ {%- else -%}
25
+ <|im_system|>{{role_name}}<|im_middle|>
26
+ {%- endif -%}
27
+ {%- endmacro -%}
28
+
29
+
30
+ {%- macro render_toolcalls(message) -%}
31
+ <|tool_calls_section_begin|>
32
+ {%- for tool_call in message['tool_calls'] -%}
33
+ {%- set formatted_id = tool_call['id'] -%}
34
+ <|tool_call_begin|>{{ formatted_id }}<|tool_call_argument_begin|>{% if tool_call['function']['arguments'] is string %}{{ tool_call['function']['arguments'] }}{% else %}{{ tool_call['function']['arguments'] | tojson }}{% endif %}<|tool_call_end|>
35
+ {%- endfor -%}
36
+ <|tool_calls_section_end|>
37
+ {%- endmacro -%}
38
+
39
+
40
+ {%- set preserve_thinking = preserve_thinking | default(false) -%}
41
+ {# Find last non-tool-call assistant message. If preserve_thinking, keep -1 so hist is empty and all msgs use suffix (retain reasoning). #}
42
+ {%- set ns = namespace(last_non_tool_call_assistant_msg=-1) -%}
43
+ {%- if not preserve_thinking -%}
44
+ {%- for idx in range(messages|length-1, -1, -1) -%}
45
+ {%- if messages[idx]['role'] == 'assistant' and not messages[idx].get('tool_calls') -%}
46
+ {%- set ns.last_non_tool_call_assistant_msg = idx -%}
47
+ {%- break -%}
48
+ {%- endif -%}
49
+ {%- endfor -%}
50
+ {%- endif -%}
51
+
52
+ {# split all messages into history & suffix, reasoning_content in suffix should be reserved.#}
53
+ {%- set hist_msgs = messages[:ns.last_non_tool_call_assistant_msg+1] -%}
54
+ {%- set suffix_msgs = messages[ns.last_non_tool_call_assistant_msg+1:] -%}
55
+
56
+ {%- if tools -%}
57
+ {%- if tools_ts_str -%}
58
+ <|im_system|>tool_declare<|im_middle|>{{ tools_ts_str }}<|im_end|>
59
+ {%- else -%}
60
+ <|im_system|>tool_declare<|im_middle|>{{ tools | tojson(separators=(',', ':')) }}<|im_end|>
61
+ {%- endif -%}
62
+ {%- endif -%}
63
+
64
+
65
+ {%- for message in hist_msgs -%}
66
+ {{set_roles(message)}}
67
+ {%- if message['role'] == 'assistant' -%}
68
+ <think></think>{{render_content(message)}}
69
+ {%- if message.get('tool_calls') -%}
70
+ {{render_toolcalls(message)}}
71
+ {%- endif -%}
72
+ {%- elif message['role'] == 'tool' -%}
73
+ {%- set tool_call_id = message.tool_call_id -%}
74
+ ## Return of {{ tool_call_id }}
75
+ {{render_content(message)}}
76
+ {%- elif message['content'] is not none -%}
77
+ {{render_content(message)}}
78
+ {%- endif -%}
79
+ <|im_end|>
80
+ {%- endfor -%}
81
+
82
+ {%- for message in suffix_msgs -%}
83
+ {{set_roles(message)}}
84
+ {%- if message['role'] == 'assistant' -%}
85
+ {%- if thinking is defined and thinking is false and preserve_thinking is false -%}
86
+ <think></think>{{render_content(message)}}
87
+ {%- else -%}
88
+ {%- set rc = message.get('reasoning', message.get('reasoning_content', '')) -%}
89
+ <think>{{rc}}</think>{{render_content(message)}}
90
+ {%- endif -%}
91
+ {%- if message.get('tool_calls') -%}
92
+ {{render_toolcalls(message)}}
93
+ {%- endif -%}
94
+ {%- elif message['role'] == 'tool' -%}
95
+ {%- set tool_call_id = message.tool_call_id -%}
96
+ ## Return of {{ tool_call_id }}
97
+ {{render_content(message)}}
98
+ {%- elif message['content'] is not none -%}
99
+ {{render_content(message)}}
100
+ {%- endif -%}
101
+ <|im_end|>
102
+ {%- endfor -%}
103
+
104
+
105
+ {%- if add_generation_prompt -%}
106
+ <|im_assistant|>assistant<|im_middle|>
107
+ {%- if thinking is defined and thinking is false -%}
108
+ <think></think>
109
+ {%- else -%}
110
+ <think>
111
+ {%- endif -%}
112
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Kimi_K25VisionModel"
4
+ ],
5
+ "dtype": "float32",
6
+ "hidden_act": "silu",
7
+ "hidden_size": 32,
8
+ "intermediate_size": 32,
9
+ "max_position_embeddings": 512,
10
+ "merge_kernel_size": [
11
+ 1,
12
+ 1
13
+ ],
14
+ "model_type": "kimi_k25_vision",
15
+ "num_attention_heads": 2,
16
+ "num_hidden_layers": 2,
17
+ "patch_size": 8,
18
+ "pos_emb_height": 4,
19
+ "pos_emb_time": 1,
20
+ "pos_emb_width": 4,
21
+ "rope_parameters": {
22
+ "rope_theta": 10000,
23
+ "rope_type": "default"
24
+ },
25
+ "transformers_version": "5.16.0.dev0"
26
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f80b778402189fa868f786ed061a311a73029c13495c4ad2788f2e3acfc372e1
3
+ size 81912
preprocessor_config.json ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoImageProcessor": "kimi_k25_vision_processing.KimiK25VisionProcessor",
4
+ "AutoProcessor": "kimi_k25_processor.KimiK25Processor"
5
+ },
6
+ "do_convert_rgb": true,
7
+ "do_normalize": true,
8
+ "do_rescale": true,
9
+ "do_resize": true,
10
+ "image_mean": [
11
+ 0.5,
12
+ 0.5,
13
+ 0.5
14
+ ],
15
+ "image_processor_type": "Kimi_K25ImageProcessor",
16
+ "image_std": [
17
+ 0.5,
18
+ 0.5,
19
+ 0.5
20
+ ],
21
+ "max_patches": 16384,
22
+ "media_proc_cfg": {
23
+ "config_type": "media_proc.processors.moonvit.MoonViTMediaProcessorConfig",
24
+ "fixed_output_tokens": null,
25
+ "image_mean": [
26
+ 0.5,
27
+ 0.5,
28
+ 0.5
29
+ ],
30
+ "image_std": [
31
+ 0.5,
32
+ 0.5,
33
+ 0.5
34
+ ],
35
+ "in_patch_limit": 16384,
36
+ "in_patch_limit_each_frame": 4096,
37
+ "in_patch_limit_video": null,
38
+ "max_num_frames_each_video": null,
39
+ "merge_kernel_size": 2,
40
+ "patch_limit_on_one_side": 512,
41
+ "patch_size": 14,
42
+ "sample_fps": 2.0,
43
+ "temporal_merge_kernel_size": 4,
44
+ "timestamp_mode": "hh:mm:ss.fff"
45
+ },
46
+ "merge_size": 2,
47
+ "patch_size": 14,
48
+ "resample": 3,
49
+ "rescale_factor": 0.00392156862745098,
50
+ "size": {
51
+ "max_height": 512,
52
+ "max_width": 512
53
+ }
54
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:261590fd5234433c558e867ea7d9b8d8a29ebc6bf51d9d43a9d714e4793db0e9
3
+ size 19545255
tokenizer_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoTokenizer": [
4
+ "tokenization_kimi.TikTokenTokenizer",
5
+ null
6
+ ]
7
+ },
8
+ "backend": "tokenizers",
9
+ "bos_token": "[BOS]",
10
+ "clean_up_tokenization_spaces": false,
11
+ "eos_token": "[EOS]",
12
+ "is_local": true,
13
+ "local_files_only": false,
14
+ "model_max_length": 512,
15
+ "pad_token": "[PAD]",
16
+ "tokenizer_class": "TokenizersBackend",
17
+ "unk_token": "[UNK]"
18
+ }
video_preprocessor_config.json ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoImageProcessor": "kimi_k25_vision_processing.KimiK25VisionProcessor",
4
+ "AutoProcessor": "kimi_k25_processor.KimiK25Processor"
5
+ },
6
+ "do_convert_rgb": true,
7
+ "do_normalize": true,
8
+ "do_rescale": true,
9
+ "do_resize": true,
10
+ "do_sample_frames": true,
11
+ "fps": 2,
12
+ "image_mean": [
13
+ 0.5,
14
+ 0.5,
15
+ 0.5
16
+ ],
17
+ "image_std": [
18
+ 0.5,
19
+ 0.5,
20
+ 0.5
21
+ ],
22
+ "max_patches": 4096,
23
+ "media_proc_cfg": {
24
+ "config_type": "media_proc.processors.moonvit.MoonViTMediaProcessorConfig",
25
+ "fixed_output_tokens": null,
26
+ "image_mean": [
27
+ 0.5,
28
+ 0.5,
29
+ 0.5
30
+ ],
31
+ "image_std": [
32
+ 0.5,
33
+ 0.5,
34
+ 0.5
35
+ ],
36
+ "in_patch_limit": 16384,
37
+ "in_patch_limit_each_frame": 4096,
38
+ "in_patch_limit_video": null,
39
+ "max_num_frames_each_video": null,
40
+ "merge_kernel_size": 2,
41
+ "patch_limit_on_one_side": 512,
42
+ "patch_size": 14,
43
+ "sample_fps": 2.0,
44
+ "temporal_merge_kernel_size": 4,
45
+ "timestamp_mode": "hh:mm:ss.fff"
46
+ },
47
+ "merge_size": 2,
48
+ "patch_size": 14,
49
+ "resample": 3,
50
+ "rescale_factor": 0.00392156862745098,
51
+ "return_metadata": false,
52
+ "size": {
53
+ "max_height": 512,
54
+ "max_width": 512
55
+ },
56
+ "temporal_patch_size": 4,
57
+ "video_processor_type": "Kimi_K25VideoProcessor"
58
+ }