AnonymousCodeX commited on
Commit
55a9681
·
verified ·
1 Parent(s): b66e0c3

Upload model trained with Unsloth

Browse files

Upload model trained with Unsloth 2x faster

Files changed (3) hide show
  1. chat_template.jinja +30 -43
  2. tokenizer.json +2 -2
  3. tokenizer_config.json +2 -3
chat_template.jinja CHANGED
@@ -1,32 +1,7 @@
1
- {%- set image_count = namespace(value=0) %}
2
- {%- set video_count = namespace(value=0) %}
3
- {%- macro render_content(content, do_vision_count) %}
4
- {%- if content is string %}
5
- {{- content }}
6
- {%- else %}
7
- {%- for item in content %}
8
- {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
- {%- if do_vision_count %}
10
- {%- set image_count.value = image_count.value + 1 %}
11
- {%- endif %}
12
- {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}
13
- <|vision_start|><|image_pad|><|vision_end|>
14
- {%- elif 'video' in item or item.type == 'video' %}
15
- {%- if do_vision_count %}
16
- {%- set video_count.value = video_count.value + 1 %}
17
- {%- endif %}
18
- {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}
19
- <|vision_start|><|video_pad|><|vision_end|>
20
- {%- elif 'text' in item %}
21
- {{- item.text }}
22
- {%- endif %}
23
- {%- endfor %}
24
- {%- endif %}
25
- {%- endmacro %}
26
  {%- if tools %}
27
  {{- '<|im_start|>system\n' }}
28
  {%- if messages[0].role == 'system' %}
29
- {{- render_content(messages[0].content, false) + '\n\n' }}
30
  {%- endif %}
31
  {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
32
  {%- for tool in tools %}
@@ -36,32 +11,41 @@
36
  {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
37
  {%- else %}
38
  {%- if messages[0].role == 'system' %}
39
- {{- '<|im_start|>system\n' + render_content(messages[0].content, false) + '<|im_end|>\n' }}
40
  {%- endif %}
41
  {%- endif %}
42
  {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
43
- {%- for message in messages[::-1] %}
44
  {%- set index = (messages|length - 1) - loop.index0 %}
45
- {%- if ns.multi_step_tool and message.role == "user" %}
46
- {%- set content = render_content(message.content, false) %}
47
- {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
48
- {%- set ns.multi_step_tool = false %}
49
- {%- set ns.last_query_index = index %}
50
- {%- endif %}
 
 
 
 
 
 
 
 
51
  {%- endif %}
52
  {%- endfor %}
53
  {%- for message in messages %}
54
- {%- set content = render_content(message.content, True) %}
55
  {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
56
- {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
57
  {%- elif message.role == "assistant" %}
 
58
  {%- set reasoning_content = '' %}
59
- {%- if message.reasoning_content is string %}
60
  {%- set reasoning_content = message.reasoning_content %}
61
  {%- else %}
62
- {%- if '</think>' in content %}
63
- {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
64
- {%- set content = content.split('</think>')[-1].lstrip('\n') %}
 
65
  {%- endif %}
66
  {%- endif %}
67
  {%- if loop.index0 > ns.last_query_index %}
@@ -98,7 +82,7 @@
98
  {{- '<|im_start|>user' }}
99
  {%- endif %}
100
  {{- '\n<tool_response>\n' }}
101
- {{- content }}
102
  {{- '\n</tool_response>' }}
103
  {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
104
  {{- '<|im_end|>\n' }}
@@ -106,5 +90,8 @@
106
  {%- endif %}
107
  {%- endfor %}
108
  {%- if add_generation_prompt %}
109
- {{- '<|im_start|>assistant\n<think>\n' }}
110
- {%- endif %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  {%- if tools %}
2
  {{- '<|im_start|>system\n' }}
3
  {%- if messages[0].role == 'system' %}
4
+ {{- messages[0].content + '\n\n' }}
5
  {%- endif %}
6
  {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
7
  {%- for tool in tools %}
 
11
  {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
12
  {%- else %}
13
  {%- if messages[0].role == 'system' %}
14
+ {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
15
  {%- endif %}
16
  {%- endif %}
17
  {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
18
+ {%- for forward_message in messages %}
19
  {%- set index = (messages|length - 1) - loop.index0 %}
20
+ {%- set message = messages[index] %}
21
+ {%- set tool_start = '<tool_response>' %}
22
+ {%- set tool_start_length = tool_start|length %}
23
+ {%- set start_of_message = message.content[:tool_start_length] %}
24
+ {%- set tool_end = '</tool_response>' %}
25
+ {%- set tool_end_length = tool_end|length %}
26
+ {%- set start_pos = (message.content|length) - tool_end_length %}
27
+ {%- if start_pos < 0 %}
28
+ {%- set start_pos = 0 %}
29
+ {%- endif %}
30
+ {%- set end_of_message = message.content[start_pos:] %}
31
+ {%- if ns.multi_step_tool and message.role == "user" and not(start_of_message == tool_start and end_of_message == tool_end) %}
32
+ {%- set ns.multi_step_tool = false %}
33
+ {%- set ns.last_query_index = index %}
34
  {%- endif %}
35
  {%- endfor %}
36
  {%- for message in messages %}
 
37
  {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
38
+ {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
39
  {%- elif message.role == "assistant" %}
40
+ {%- set content = message.content %}
41
  {%- set reasoning_content = '' %}
42
+ {%- if message.reasoning_content is defined and message.reasoning_content is not none %}
43
  {%- set reasoning_content = message.reasoning_content %}
44
  {%- else %}
45
+ {%- if '</think>' in message.content %}
46
+ {%- set content = (message.content.split('</think>')|last).lstrip('\n') %}
47
+ {%- set reasoning_content = (message.content.split('</think>')|first).rstrip('\n') %}
48
+ {%- set reasoning_content = (reasoning_content.split('<think>')|last).lstrip('\n') %}
49
  {%- endif %}
50
  {%- endif %}
51
  {%- if loop.index0 > ns.last_query_index %}
 
82
  {{- '<|im_start|>user' }}
83
  {%- endif %}
84
  {{- '\n<tool_response>\n' }}
85
+ {{- message.content }}
86
  {{- '\n</tool_response>' }}
87
  {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
88
  {{- '<|im_end|>\n' }}
 
90
  {%- endif %}
91
  {%- endfor %}
92
  {%- if add_generation_prompt %}
93
+ {{- '<|im_start|>assistant\n' }}
94
+ {%- if enable_thinking is defined and enable_thinking is false %}
95
+ {{- '<think>\n\n</think>\n\n' }}
96
+ {%- endif %}
97
+ {%- endif %}
tokenizer.json CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:132c0fb88b2070b782a69e8833d01ab987b1198ec606df151512d91820abb758
3
- size 11422822
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
3
+ size 11422654
tokenizer_config.json CHANGED
@@ -231,10 +231,9 @@
231
  "eos_token": "<|im_end|>",
232
  "errors": "replace",
233
  "extra_special_tokens": {},
234
- "model_max_length": 262144,
235
  "pad_token": "<|vision_pad|>",
236
- "padding_side": "right",
237
- "processor_class": "Qwen3VLProcessor",
238
  "split_special_tokens": false,
239
  "tokenizer_class": "Qwen2Tokenizer",
240
  "unk_token": null
 
231
  "eos_token": "<|im_end|>",
232
  "errors": "replace",
233
  "extra_special_tokens": {},
234
+ "model_max_length": 40960,
235
  "pad_token": "<|vision_pad|>",
236
+ "padding_side": "left",
 
237
  "split_special_tokens": false,
238
  "tokenizer_class": "Qwen2Tokenizer",
239
  "unk_token": null