Update tokenizer_config.json with function-calling support
Browse files- tokenizer_config.json +2 -2
tokenizer_config.json
CHANGED
|
@@ -179,11 +179,11 @@
|
|
| 179 |
}
|
| 180 |
},
|
| 181 |
"bos_token": "<|endoftext|>",
|
| 182 |
-
"chat_template": "{%- set has_system = messages|selectattr('role', 'equalto', 'system')|list|length > 0 -%}{%- if not has_system -%}{{- '<|im_start|>system\nYou are a helpful function-calling AI assistant. ' -}}{%- if tools is none -%}{{- 'You do not currently have access to any functions. <functions></functions><|im_end|>\n' -}}{%- else -%}{{- 'You are provided with function signatures within <functions></functions> XML tags. You may call one or more functions to assist with the user query. Output any function calls within <function_calls></function_calls> XML tags. Do not make assumptions about what values to plug into functions.' -}}{{- '<functions>' -}}{{- tools | tojson -}}{{- '</functions><|im_end|>\n' -}}{%- endif -%}{%- endif -%}{%- for message in messages -%}{%- if message['role'] == 'system' -%}{{- '<|im_start|>system\n' + message['content'] -}}{%- if tools is not none -%}{{- '<functions>' -}}{{- tools | tojson -}}{{- '</functions>' -}}{%- elif message.get('functions', none) is not none -%}{{- ' <functions>' + message['functions'] + '</functions>' -}}{%- endif -%}{{- '<|im_end|>\n' -}}{%- elif message['role'] == 'user' -%}{{- '<|im_start|>user\n' + message['content'] + '<|im_end|>\n' -}}{%- elif message['role'] == 'assistant' -%}{{- '<|im_start|>assistant\n' -}}{%- if message.get('content', none) is not none -%}{{- message['content'] -}}{%- endif -%}{%- if message.get('function_calls', none) is not none -%}{{- '<function_calls>' + message['function_calls'] + '</function_calls>' -}}{% elif message.get('tool_calls', none) is not none %}{{- '<function_calls>' -}}{%- for tool_call in message['tool_calls'] %}{%- if tool_call is mapping and tool_call.get('function', none) is not none %}{%- set args = tool_call['function']['arguments'] -%}{%- set ns = namespace(arguments_list=[]) -%}{%- for key, value in args.items() -%}{%- set ns.arguments_list = ns.arguments_list + [key ~ '=' ~ (value | tojson)] -%}{%- endfor -%}{%- set arguments = ns.arguments_list | join(', ') -%}{{- tool_call['function']['name'] + '(' + arguments + ')' -}}{%- if not loop.last -%}{{ '\n' }}{%- endif -%}{% else %}{{- tool_call -}}{%- endif %}{%- endfor %}{{- '</function_calls>' -}}{%- endif -%}{%- if not loop.last -%}{{- '<|im_end|>' + '\n' -}}{%- else -%}{{- eos_token -}}{%- endif -%}{%- elif message['role'] == 'environment' -%}{{- '<|im_start|>environment\n' + message['content'] + '<|im_end|>\n' -}}{%- elif message['role'] == 'tool' -%}{{- '<|im_start|>environment\n' + message['content'] + '<|im_end|>\n' -}}{%- endif -%}{%- if loop.last and add_generation_prompt -%}{{- '<|im_start|>assistant\n' -}}{%- endif -%}{%- endfor -%}",
|
| 183 |
"clean_up_tokenization_spaces": false,
|
| 184 |
"eos_token": "<|endoftext|>",
|
|
|
|
| 185 |
"model_max_length": 65536,
|
| 186 |
"pad_token": "<|pad|>",
|
| 187 |
"tokenizer_class": "GPT2Tokenizer",
|
| 188 |
"unk_token": "<|endoftext|>"
|
| 189 |
-
}
|
|
|
|
| 179 |
}
|
| 180 |
},
|
| 181 |
"bos_token": "<|endoftext|>",
|
|
|
|
| 182 |
"clean_up_tokenization_spaces": false,
|
| 183 |
"eos_token": "<|endoftext|>",
|
| 184 |
+
"extra_special_tokens": {},
|
| 185 |
"model_max_length": 65536,
|
| 186 |
"pad_token": "<|pad|>",
|
| 187 |
"tokenizer_class": "GPT2Tokenizer",
|
| 188 |
"unk_token": "<|endoftext|>"
|
| 189 |
+
}
|