File size: 24,680 Bytes
ea0efd2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
{
  "add_bos_token": false,
  "add_prefix_space": false,
  "added_tokens_decoder": {
    "151643": {
      "content": "<|endoftext|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151644": {
      "content": "<|im_start|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151645": {
      "content": "<|im_end|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151646": {
      "content": "<|object_ref_start|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151647": {
      "content": "<|object_ref_end|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151648": {
      "content": "<|box_start|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151649": {
      "content": "<|box_end|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151650": {
      "content": "<|quad_start|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151651": {
      "content": "<|quad_end|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151652": {
      "content": "<|vision_start|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151653": {
      "content": "<|vision_end|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151654": {
      "content": "<|vision_pad|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151655": {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "content": "<|image_pad|>",                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "lstrip": false,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "normalized": false,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "rstrip": false,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "single_word": false,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      "special": true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
    },
    "151656": {
      "content": "<|video_pad|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": true
    },
    "151657": {
      "content": "<tool_call>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151658": {
      "content": "</tool_call>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151659": {
      "content": "<|fim_prefix|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151660": {
      "content": "<|fim_middle|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151661": {
      "content": "<|fim_suffix|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151662": {
      "content": "<|fim_pad|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151663": {
      "content": "<|repo_name|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151664": {
      "content": "<|file_sep|>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151665": {
      "content": "<tool_response>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151666": {
      "content": "</tool_response>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151667": {
      "content": "<think>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    },
    "151668": {
      "content": "</think>",
      "lstrip": false,
      "normalized": false,
      "rstrip": false,
      "single_word": false,
      "special": false
    }
  },
  "additional_special_tokens": [
    "<|im_start|>",
    "<|im_end|>",
    "<|object_ref_start|>",
    "<|object_ref_end|>",
    "<|box_start|>",
    "<|box_end|>",
    "<|quad_start|>",
    "<|quad_end|>",
    "<|vision_start|>",
    "<|vision_end|>",
    "<|vision_pad|>",
    "<|image_pad|>",
    "<|video_pad|>"
  ],
  "bos_token": null,
  "chat_template": "{%- if tools %}\n                        {{- '<|im_start|>system\\n' }}\n                        {%- if messages[0].role == 'system' %}\n                            {{- messages[0].content + '\\n\\n' }}\n                        {%- endif %}\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>\" }}\n                        {%- for tool in tools %}\n                            {{- \"\\n\" }}\n                            {{- tool | tojson }}\n                        {%- endfor %}\n                        {{- \"\\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\" }}\n                    {%- else %}\n                        {%- if messages[0].role == 'system' %}\n                            {{- '<|im_start|>system\\n' + messages[0].content + '<|im_end|>\\n' }}\n                        {%- endif %}\n                    {%- endif %}\n                    {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n                    {%- for message in messages[::-1] %}\n                        {%- set index = (messages|length - 1) - loop.index0 %}\n                        {%- if ns.multi_step_tool and message.role == \"user\" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}\n                            {%- set ns.multi_step_tool = false %}\n                            {%- set ns.last_query_index = index %}\n                        {%- endif %}\n                    {%- endfor %}\n                    {%- for message in messages %}\n                        {%- if message.content is string %}\n                            {%- set content = message.content %}\n                        {%- else %}\n                            {%- set content = '' %}\n                        {%- endif %}\n                        {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n                            {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n                        {%- elif message.role == \"assistant\" %}\n                            {%- set reasoning_content = '' %}\n                            {%- set inline_tool_text = '' %}\n                            {%- if message.reasoning_content is string %}\n                                {%- set reasoning_content = message.reasoning_content %}\n                            {%- else %}\n                                {%- if '</think>' in content %}\n                                    {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n                                    {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n                                {%- endif %}\n                            {%- endif %}\n                            {%- if '正在调用以下工具:' in content and not message.tool_calls %}\n                                {%- set tc_split = content.split('正在调用以下工具:\\n', 1) %}\n                                {%- set content = tc_split[0].rstrip('\\n') %}\n                                {%- set inline_tool_text = tc_split[1] %}\n                            {%- endif %}\n                            {%- generation -%}\n                            {%- if loop.index0 > ns.last_query_index %}\n                                {%- if loop.last or (not loop.last and reasoning_content) %}\n                                    {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content.strip('\\n') + '\\n</think>\\n\\n' + content.lstrip('\\n') }}\n                                {%- else %}\n                                    {{- '<|im_start|>' + message.role + '\\n' + content }}\n                                {%- endif %}\n                            {%- else %}\n                                {{- '<|im_start|>' + message.role + '\\n' + content }}\n                            {%- endif %}\n                            {%- if message.tool_calls %}\n                                {%- for tool_call in message.tool_calls %}\n                                    {%- if (loop.first and content) or (not loop.first) %}\n                                        {{- '\\n' }}\n                                    {%- endif %}\n                                    {%- if tool_call.function %}\n                                        {%- set tool_call = tool_call.function %}\n                                    {%- endif %}\n                                    {{- '<tool_call>\\n{\"name\": \"' + tool_call.name + '\", \"arguments\": ' }}\n                                    {%- if tool_call.arguments is string %}\n                                        {{- tool_call.arguments }}\n                                    {%- else %}\n                                        {{- tool_call.arguments | tojson }}\n                                    {%- endif %}\n                                    {{- '}\\n</tool_call>' }}\n                                {%- endfor %}\n                            {%- elif inline_tool_text %}\n                                {%- set ns_tc = namespace(first=true) %}\n                                {%- for tool_line in inline_tool_text.split('\\n') %}\n                                    {%- if tool_line.startswith('调用工具: ') %}\n                                        {%- if (ns_tc.first and content) or (not ns_tc.first) %}\n                                            {{- '\\n' }}\n                                        {%- endif %}\n                                        {%- set ns_tc.first = false %}\n                                        {%- set after_prefix = tool_line[6:] %}\n                                        {%- set paren_split = after_prefix.split('(', 1) %}\n                                        {%- set func_name = paren_split[0] %}\n                                        {%- set args_str = paren_split[1][:-1] %}\n                                        {{- '<tool_call>\\n{\"name\": \"' + func_name + '\", \"arguments\": ' + args_str + '}\\n</tool_call>' }}\n                                    {%- endif %}\n                                {%- endfor %}\n                            {%- endif %}\n                            {{- '<|im_end|>\\n' }}\n                            {%- endgeneration -%}\n                        {%- elif message.role == \"tool\" %}\n                            {%- if loop.first or (messages[loop.index0 - 1].role != \"tool\") %}\n                                {{- '<|im_start|>user' }}\n                            {%- endif %}\n                            {{- '\\n<tool_response>\\n' }}\n                            {{- content }}\n                            {{- '\\n</tool_response>' }}\n                            {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n                                {{- '<|im_end|>\\n' }}\n                            {%- endif %}\n                        {%- endif %}\n                    {%- endfor %}\n                    {%- if add_generation_prompt %}\n                        {{- '<|im_start|>assistant\\n' }}\n                    {%- endif %}",
  "clean_up_tokenization_spaces": false,
  "eos_token": "<|im_end|>",
  "errors": "replace",
  "extra_special_tokens": {},
  "model_max_length": 131072,
  "pad_token": "<|endoftext|>",
  "split_special_tokens": false,
  "tokenizer_class": "Qwen2Tokenizer",
  "unk_token": null
}