ShihteSiao commited on
Commit
398d666
·
verified ·
1 Parent(s): 0cc4fe1

Upload model trained with Unsloth

Browse files

Upload model trained with Unsloth 2x faster

added_tokens.json CHANGED
@@ -1,6 +1,10 @@
1
  {
 
2
  "</tool_call>": 151658,
 
 
3
  "<tool_call>": 151657,
 
4
  "<|box_end|>": 151649,
5
  "<|box_start|>": 151648,
6
  "<|endoftext|>": 151643,
 
1
  {
2
+ "</think>": 151668,
3
  "</tool_call>": 151658,
4
+ "</tool_response>": 151666,
5
+ "<think>": 151667,
6
  "<tool_call>": 151657,
7
+ "<tool_response>": 151665,
8
  "<|box_end|>": 151649,
9
  "<|box_start|>": 151648,
10
  "<|endoftext|>": 151643,
chat_template.jinja CHANGED
@@ -1,44 +1,84 @@
1
  {%- if tools %}
2
  {{- '<|im_start|>system\n' }}
3
- {%- if messages[0]['role'] == 'system' %}
4
- {{- messages[0]['content'] }}
5
- {%- else %}
6
- {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}
7
  {%- endif %}
8
- {{- "\n\n# 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>" }}
9
  {%- for tool in tools %}
10
  {{- "\n" }}
11
  {{- tool | tojson }}
12
  {%- endfor %}
13
  {{- "\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" }}
14
  {%- else %}
15
- {%- if messages[0]['role'] == 'system' %}
16
- {{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}
17
- {%- else %}
18
- {{- '<|im_start|>system\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\n' }}
19
  {%- endif %}
20
  {%- endif %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  {%- for message in messages %}
22
- {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %}
23
  {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
24
  {%- elif message.role == "assistant" %}
25
- {{- '<|im_start|>' + message.role }}
26
- {%- if message.content %}
27
- {{- '\n' + message.content }}
 
 
 
 
 
 
 
28
  {%- endif %}
29
- {%- for tool_call in message.tool_calls %}
30
- {%- if tool_call.function is defined %}
31
- {%- set tool_call = tool_call.function %}
 
 
32
  {%- endif %}
33
- {{- '\n<tool_call>\n{"name": "' }}
34
- {{- tool_call.name }}
35
- {{- '", "arguments": ' }}
36
- {{- tool_call.arguments | tojson }}
37
- {{- '}\n</tool_call>' }}
38
- {%- endfor %}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  {{- '<|im_end|>\n' }}
40
  {%- elif message.role == "tool" %}
41
- {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %}
42
  {{- '<|im_start|>user' }}
43
  {%- endif %}
44
  {{- '\n<tool_response>\n' }}
@@ -51,4 +91,7 @@
51
  {%- endfor %}
52
  {%- if add_generation_prompt %}
53
  {{- '<|im_start|>assistant\n' }}
54
- {%- 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 %}
8
  {{- "\n" }}
9
  {{- tool | tojson }}
10
  {%- endfor %}
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 %}
52
+ {%- if loop.last or (not loop.last and reasoning_content) %}
53
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
54
+ {%- else %}
55
+ {{- '<|im_start|>' + message.role + '\n' + content }}
56
  {%- endif %}
57
+ {%- else %}
58
+ {{- '<|im_start|>' + message.role + '\n' + content }}
59
+ {%- endif %}
60
+ {%- if message.tool_calls %}
61
+ {%- for tool_call in message.tool_calls %}
62
+ {%- if (loop.first and content) or (not loop.first) %}
63
+ {{- '\n' }}
64
+ {%- endif %}
65
+ {%- if tool_call.function %}
66
+ {%- set tool_call = tool_call.function %}
67
+ {%- endif %}
68
+ {{- '<tool_call>\n{"name": "' }}
69
+ {{- tool_call.name }}
70
+ {{- '", "arguments": ' }}
71
+ {%- if tool_call.arguments is string %}
72
+ {{- tool_call.arguments }}
73
+ {%- else %}
74
+ {{- tool_call.arguments | tojson }}
75
+ {%- endif %}
76
+ {{- '}\n</tool_call>' }}
77
+ {%- endfor %}
78
+ {%- endif %}
79
  {{- '<|im_end|>\n' }}
80
  {%- elif message.role == "tool" %}
81
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
82
  {{- '<|im_start|>user' }}
83
  {%- endif %}
84
  {{- '\n<tool_response>\n' }}
 
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 %}
special_tokens_map.json CHANGED
@@ -15,7 +15,7 @@
15
  "<|video_pad|>"
16
  ],
17
  "eos_token": {
18
- "content": "<|endoftext|>",
19
  "lstrip": false,
20
  "normalized": false,
21
  "rstrip": false,
 
15
  "<|video_pad|>"
16
  ],
17
  "eos_token": {
18
+ "content": "<|im_end|>",
19
  "lstrip": false,
20
  "normalized": false,
21
  "rstrip": false,
tokenizer.json CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa
3
- size 11421896
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
3
+ size 11422654
tokenizer_config.json CHANGED
@@ -177,6 +177,38 @@
177
  "rstrip": false,
178
  "single_word": false,
179
  "special": false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  }
181
  },
182
  "additional_special_tokens": [
@@ -196,10 +228,10 @@
196
  ],
197
  "bos_token": null,
198
  "clean_up_tokenization_spaces": false,
199
- "eos_token": "<|endoftext|>",
200
  "errors": "replace",
201
  "extra_special_tokens": {},
202
- "model_max_length": 32768,
203
  "pad_token": "<|vision_pad|>",
204
  "padding_side": "right",
205
  "split_special_tokens": false,
 
177
  "rstrip": false,
178
  "single_word": false,
179
  "special": false
180
+ },
181
+ "151665": {
182
+ "content": "<tool_response>",
183
+ "lstrip": false,
184
+ "normalized": false,
185
+ "rstrip": false,
186
+ "single_word": false,
187
+ "special": false
188
+ },
189
+ "151666": {
190
+ "content": "</tool_response>",
191
+ "lstrip": false,
192
+ "normalized": false,
193
+ "rstrip": false,
194
+ "single_word": false,
195
+ "special": false
196
+ },
197
+ "151667": {
198
+ "content": "<think>",
199
+ "lstrip": false,
200
+ "normalized": false,
201
+ "rstrip": false,
202
+ "single_word": false,
203
+ "special": false
204
+ },
205
+ "151668": {
206
+ "content": "</think>",
207
+ "lstrip": false,
208
+ "normalized": false,
209
+ "rstrip": false,
210
+ "single_word": false,
211
+ "special": false
212
  }
213
  },
214
  "additional_special_tokens": [
 
228
  ],
229
  "bos_token": null,
230
  "clean_up_tokenization_spaces": false,
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": "right",
237
  "split_special_tokens": false,