{ "add_bos_token": true, "add_eos_token": false, "add_prefix_space": true, "added_tokens_decoder": { "0": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": true }, "1": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": true }, "2": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": true }, "32000": { "content": "<|im_end|>", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": true }, "32001": { "content": "<|im_start|>", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32002": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32003": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32004": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32005": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32006": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32007": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32008": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32009": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32010": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32011": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32012": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32013": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32014": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32015": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32016": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32017": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32018": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32019": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32020": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32021": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32022": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32023": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32024": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32025": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32026": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32027": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32028": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32029": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32030": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false }, "32031": { "content": "", "lstrip": false, "normalized": false, "rstrip": false, "single_word": false, "special": false } }, "additional_special_tokens": [], "bos_token": "", "chat_template": [ { "name": "default", "template": "{{bos_token}}{% for message in messages %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}" }, { "name": "tool_use", "template": "{%- macro json_to_python_type(json_spec) %}\n{%- set basic_type_map = {\n \"string\": \"str\",\n \"number\": \"float\",\n \"integer\": \"int\",\n \"boolean\": \"bool\"\n} %}\n\n{%- if basic_type_map[json_spec.type] is defined %}\n {{- basic_type_map[json_spec.type] }}\n{%- elif json_spec.type == \"array\" %}\n {{- \"list[\" + json_to_python_type(json_spec|items) + \"]\"}}\n{%- elif json_spec.type == \"object\" %}\n {%- if json_spec.additionalProperties is defined %}\n {{- \"dict[str, \" + json_to_python_type(json_spec.additionalProperties) + ']'}}\n {%- else %}\n {{- \"dict\" }}\n {%- endif %}\n{%- elif json_spec.type is iterable %}\n {{- \"Union[\" }}\n {%- for t in json_spec.type %}\n {{- json_to_python_type({\"type\": t}) }}\n {%- if not loop.last %}\n {{- \",\" }} \n {%- endif %}\n {%- endfor %}\n {{- \"]\" }}\n{%- else %}\n {{- \"Any\" }}\n{%- endif %}\n{%- endmacro %}\n\n\n{{- bos_token }}\n{{- \"You are a function calling AI model. You are provided with function signatures within XML tags. You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions. Here are the available tools: \" }}\n{%- for tool in tools %}\n {%- if tool.function is defined %}\n {%- set tool = tool.function %}\n {%- endif %}\n {{- '{\"type\": \"function\", \"function\": ' }}\n {{- '{\"name\": ' + tool.name + '\", ' }}\n {{- '\"description\": \"' + tool.name + '(' }}\n {%- for param_name, param_fields in tool.parameters.properties|items %}\n {{- param_name + \": \" + json_to_python_type(param_fields) }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- endif %}\n {%- endfor %}\n {{- \")\" }}\n {%- if tool.return is defined %}\n {{- \" -> \" + json_to_python_type(tool.return) }}\n {%- endif %}\n {{- \" - \" + tool.description + \"\\n\\n\" }}\n {%- for param_name, param_fields in tool.parameters.properties|items %}\n {%- if loop.first %}\n {{- \" Args:\\n\" }}\n {%- endif %}\n {{- \" \" + param_name + \"(\" + json_to_python_type(param_fields) + \"): \" + param_fields.description|trim }}\n {%- endfor %}\n {%- if tool.return is defined and tool.return.description is defined %}\n {{- \"\\n Returns:\\n \" + tool.return.description }}\n {%- endif %}\n {{- '\"' }}\n {{- ', \"parameters\": ' }}\n {%- if tool.parameters.properties | length == 0 %}\n {{- \"{}\" }}\n {%- else %}\n {{- tool.parameters|tojson }}\n {%- endif %}\n {{- \"}\" }}\n {%- if not loop.last %}\n {{- \"\\n\" }}\n {%- endif %}\n{%- endfor %}\n{{- \" \" }}\n{{- 'Use the following pydantic model json schema for each tool call you will make: {\"properties\": {\"arguments\": {\"title\": \"Arguments\", \"type\": \"object\"}, \"name\": {\"title\": \"Name\", \"type\": \"string\"}}, \"required\": [\"arguments\", \"name\"], \"title\": \"FunctionCall\", \"type\": \"object\"}\n' }}\n{{- \"For each function call return a json object with function name and arguments within XML tags as follows:\n\" }}\n{{- \"\n\" }}\n{{- '{\"arguments\": , \"name\": }\n' }}\n{{- '<|im_end|>' }}\n{%- for message in messages %}\n {%- if message.role == \"user\" or message.role == \"system\" or (message.role == \"assistant\" and message.tool_calls is not defined) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role + '\\n\\n' }}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '{ ' }}\n {%- if tool_call.arguments is defined %}\n {{- '\"arguments\": ' }}\n {{- tool_call.arguments|tojson }}\n {{- ', '}}\n {%- endif %}\n {{- '\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\"}' }}\n {{- '\\n ' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if not message.name is defined %}\n {{- raise_exception(\"Tool response dicts require a 'name' key indicating the name of the called function!\") }}\n {%- endif %}\n {{- '<|im_start|>' + message.role + '\\n\\n' }}\n {{- '{\"name\": \"' }}\n {{- message.name }}\n {{- '\", \"content\": ' }}\n {{- message.content|tojson + '}' }}\n {{- '\\n <|im_end|>\\n' }} \n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n" } ], "clean_up_tokenization_spaces": true, "eos_token": "<|im_end|>", "legacy": true, "model_max_length": 1000000000000000019884624838656, "pad_token": "", "sp_model_kwargs": {}, "spaces_between_special_tokens": false, "tokenizer_class": "LlamaTokenizer", "unk_token": "", "use_default_system_prompt": false, "use_fast": true }