fix reasoning token (#8)
Browse files- fix reasoning token (f697cad0085ded279f0cbaa024847d1d3e0223ed)
- tokenizer_config.json +1 -1
tokenizer_config.json
CHANGED
@@ -2051,7 +2051,7 @@
|
|
2051 |
}
|
2052 |
},
|
2053 |
"bos_token": "<|begin_of_text|>",
|
2054 |
-
"chat_template": "{{- bos_token }}\n{%- if custom_tools is defined %}\n {%- set tools = custom_tools %}\n{%- endif %}\n{%- if not tools_in_user_message is defined %}\n {%- set tools_in_user_message = true %}\n{%- endif %}\n{%- if not date_string is defined %}\n {%- if strftime_now is defined %}\n {%- set date_string = strftime_now(\"%d %b %Y\") %}\n {%- else %}\n {%- set date_string = \"26 Jul 2024\" %}\n {%- endif %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{#ββ Force empty system message and skip external system prompts ββ#}\n{%- set system_message = \"\" %}\n{%- if messages[0]['role'] == 'system' %}\n {%- set messages = messages[1:] %}\n{%- endif %}\n{#ββ Fixed system prompt section with external system instructions addition ββ#}\n{{- \"<|start_header_id|>system<|end_header_id|>\\n\\n\" }}\n{%- if external_system_instructions is defined and external_system_instructions|trim != \"\" %}\n {{- external_system_instructions + \"\\n\\n\" }}\n{%- endif %}\n{%- if tools is not none %}\n {{- \"Environment: ipython\\n\" }}\n{%- endif %}\n{{- \"You are focused on providing systematic, well
|
2055 |
"clean_up_tokenization_spaces": true,
|
2056 |
"eos_token": "<|eot_id|>",
|
2057 |
"extra_special_tokens": {},
|
|
|
2051 |
}
|
2052 |
},
|
2053 |
"bos_token": "<|begin_of_text|>",
|
2054 |
+
"chat_template": "{{- bos_token }}\n{%- if custom_tools is defined %}\n {%- set tools = custom_tools %}\n{%- endif %}\n{%- if not tools_in_user_message is defined %}\n {%- set tools_in_user_message = true %}\n{%- endif %}\n{%- if not date_string is defined %}\n {%- if strftime_now is defined %}\n {%- set date_string = strftime_now(\"%d %b %Y\") %}\n {%- else %}\n {%- set date_string = \"26 Jul 2024\" %}\n {%- endif %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{#ββ Force empty system message and skip external system prompts ββ#}\n{%- set system_message = \"\" %}\n{%- if messages[0]['role'] == 'system' %}\n {%- set messages = messages[1:] %}\n{%- endif %}\n{#ββ Fixed system prompt section with external system instructions addition ββ#}\n{{- \"<|start_header_id|>system<|end_header_id|>\\n\\n\" }}\n{%- if external_system_instructions is defined and external_system_instructions|trim != \"\" %}\n {{- external_system_instructions + \"\\n\\n\" }}\n{%- endif %}\n{%- if tools is not none %}\n {{- \"Environment: ipython\\n\" }}\n{%- endif %}\n{{- \"You are an AI assistant focused on providing systematic, well-reasoned responses. Response Structure: - Format: <|reasoning|>{reasoning}<|end_reasoning|>{answer} - Reasoning: Minimum 6 logical steps only when it required in <|reasoning|> block - Process: Think first, then answer. Always think in English-only!\" }}\n{%- if tools is not none and not tools_in_user_message %}\n {{- \"You have access to the following functions. To call a function, please respond with JSON for a function call.\" }}\n {{- 'Respond in the format {\"name\": function name, \"parameters\": dictionary of argument name and its value}.' }}\n {{- \" Do not use variables.\\n\\n\" }}\n {%- for t in tools %}\n {{- t | tojson(indent=4) }}\n {{- \"\\n\\n\" }}\n {%- endfor %}\n{%- endif %}\n{{- \"<|eot_id|>\" }}\n{#ββ Custom tools handling ββ#}\n{%- if tools_in_user_message and not tools is none %}\n {%- if messages | length != 0 %}\n {%- set first_user_message = messages[0]['content'] | trim %}\n {%- set messages = messages[1:] %}\n {%- else %}\n {{- raise_exception(\"Cannot put tools in the first user message when there's no first user message!\") }}\n {%- endif %}\n {{- '<|start_header_id|>user<|end_header_id|>\\n\\n' -}}\n {{- \"Given the following functions, please respond with a JSON for a function call \" }}\n {{- \"with its proper arguments that best answers the given prompt.\\n\\n\" }}\n {{- 'Respond in the format {\"name\": function name, \"parameters\": dictionary of argument name and its value}.' }}\n {{- \" Do not use variables.\\n\\n\" }}\n {%- for t in tools %}\n {{- t | tojson(indent=4) }}\n {{- \"\\n\\n\" }}\n {%- endfor %}\n {{- first_user_message + \"<|eot_id|>\" }}\n{%- endif %}\n{%- for message in messages %}\n {%- if not (message.role == 'ipython' or message.role == 'tool' or 'tool_calls' in message) %}\n {{- '<|start_header_id|>' + message['role'] + '<|end_header_id|>\\n\\n' + message['content'] | trim + '<|eot_id|>' }}\n {%- elif 'tool_calls' in message %}\n {%- if not message.tool_calls | length == 1 %}\n {{- raise_exception(\"This model only supports single tool-calls at once!\") }}\n {%- endif %}\n {%- set tool_call = message.tool_calls[0].function %}\n {{- '<|start_header_id|>assistant<|end_header_id|><|reasoning|>' -}}\n {{- '{\"name\": \"' + tool_call.name + '\", ' }}\n {{- '\"parameters\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- \"}\" }}\n {{- \"<|eot_id|>\" }}\n {%- elif message.role == \"tool\" or message.role == \"ipython\" %}\n {{- \"<|start_header_id|>ipython<|end_header_id|>\\n\\n\" }}\n {%- if message.content is mapping or message.content is iterable %}\n {{- message.content | tojson }}\n {%- else %}\n {{- message.content }}\n {%- endif %}\n {{- \"<|eot_id|>\" }}\n {%- endif %}\n{%- endfor %}\n{#ββ Always append the final generation header with <|reasoning|> token ββ#}\n{{- '<|start_header_id|>assistant<|end_header_id|><|reasoning|>' }}",
|
2055 |
"clean_up_tokenization_spaces": true,
|
2056 |
"eos_token": "<|eot_id|>",
|
2057 |
"extra_special_tokens": {},
|