CoolFace
Modelpublic

unsloth/Kimi-K2.7-Code

sourceHugging Faceotherupdated 3mo agoView on Hugging Face
21likes124downloads
tokenizer_config.json222 linesDownload Raw Back to root
1{2  "added_tokens_decoder": {3    "163584": {4      "content": "[BOS]",5      "lstrip": false,6      "normalized": false,7      "rstrip": false,8      "single_word": false,9      "special": true10    },11    "163585": {12      "content": "[EOS]",13      "lstrip": false,14      "normalized": false,15      "rstrip": false,16      "single_word": false,17      "special": true18    },19    "163586": {20      "content": "<|im_end|>",21      "lstrip": false,22      "normalized": false,23      "rstrip": false,24      "single_word": false,25      "special": true26    },27    "163587": {28      "content": "<|im_user|>",29      "lstrip": false,30      "normalized": false,31      "rstrip": false,32      "single_word": false,33      "special": true34    },35    "163588": {36      "content": "<|im_assistant|>",37      "lstrip": false,38      "normalized": false,39      "rstrip": false,40      "single_word": false,41      "special": true42    },43    "163590": {44      "content": "<|start_header_id|>",45      "lstrip": false,46      "normalized": false,47      "rstrip": false,48      "single_word": false,49      "special": true50    },51    "163591": {52      "content": "<|end_header_id|>",53      "lstrip": false,54      "normalized": false,55      "rstrip": false,56      "single_word": false,57      "special": true58    },59    "163593": {60      "content": "[EOT]",61      "lstrip": false,62      "normalized": false,63      "rstrip": false,64      "single_word": false,65      "special": true66    },67    "163594": {68      "content": "<|im_system|>",69      "lstrip": false,70      "normalized": false,71      "rstrip": false,72      "single_word": false,73      "special": true74    },75    "163595": {76      "content": "<|tool_calls_section_begin|>",77      "lstrip": false,78      "normalized": false,79      "rstrip": false,80      "single_word": false,81      "special": false82    },83    "163596": {84      "content": "<|tool_calls_section_end|>",85      "lstrip": false,86      "normalized": false,87      "rstrip": false,88      "single_word": false,89      "special": false90    },91    "163597": {92      "content": "<|tool_call_begin|>",93      "lstrip": false,94      "normalized": false,95      "rstrip": false,96      "single_word": false,97      "special": false98    },99    "163598": {100      "content": "<|tool_call_argument_begin|>",101      "lstrip": false,102      "normalized": false,103      "rstrip": false,104      "single_word": false,105      "special": false106    },107    "163599": {108      "content": "<|tool_call_end|>",109      "lstrip": false,110      "normalized": false,111      "rstrip": false,112      "single_word": false,113      "special": false114    },115    "163601": {116      "content": "<|im_middle|>",117      "lstrip": false,118      "normalized": false,119      "rstrip": false,120      "single_word": false,121      "special": true122    },123    "163602": {124      "content": "<|media_begin|>",125      "lstrip": false,126      "normalized": false,127      "rstrip": false,128      "single_word": false,129      "special": true130    },131    "163603": {132      "content": "<|media_content|>",133      "lstrip": false,134      "normalized": false,135      "rstrip": false,136      "single_word": false,137      "special": true138    },139    "163604": {140      "content": "<|media_end|>",141      "lstrip": false,142      "normalized": false,143      "rstrip": false,144      "single_word": false,145      "special": true146    },147    "163605": {148      "content": "<|media_pad|>",149      "lstrip": false,150      "normalized": false,151      "rstrip": false,152      "single_word": false,153      "special": true154    },155    "163606": {156      "content": "<think>",157      "lstrip": false,158      "normalized": false,159      "rstrip": false,160      "single_word": false,161      "special": false162    },163    "163607": {164      "content": "</think>",165      "lstrip": false,166      "normalized": false,167      "rstrip": false,168      "single_word": false,169      "special": false170    },171    "163838": {172      "content": "[UNK]",173      "lstrip": false,174      "normalized": false,175      "rstrip": false,176      "single_word": false,177      "special": true178    },179    "163839": {180      "content": "[PAD]",181      "lstrip": false,182      "normalized": false,183      "rstrip": false,184      "single_word": false,185      "special": true186    }187  },188  "auto_map": {189    "AutoProcessor": "kimi_k25_processor.KimiK25Processor",190    "AutoTokenizer": [191      "tokenization_kimi.TikTokenTokenizer",192      null193    ]194  },195  "backend": "custom",196  "bos_token": "[BOS]",197  "clean_up_tokenization_spaces": false,198  "eos_token": "[EOS]",199  "extra_special_tokens": [200    "<|im_end|>",201    "<|im_user|>",202    "<|im_assistant|>",203    "<|start_header_id|>",204    "<|end_header_id|>",205    "[EOT]",206    "<|im_system|>",207    "<|im_middle|>",208    "<|media_begin|>",209    "<|media_content|>",210    "<|media_end|>",211    "<|media_pad|>"212  ],213  "is_local": true,214  "local_files_only": false,215  "model_max_length": 262144,216  "pad_token": "[PAD]",217  "padding_side": "left",218  "processor_class": "KimiK25Processor",219  "tokenizer_class": "TikTokenTokenizer",220  "unk_token": "[UNK]",221  "chat_template": "{%- macro render_content(msg) -%}\n    {%- set c = msg.get('content') -%}\n    {%- if c is string -%}\n      {{ c }}\n    {%- elif c is not none -%}\n      {% for content in c -%}\n        {% if content['type'] == 'image' or content['type'] == 'image_url' -%}\n          <|media_begin|>image<|media_content|><|media_pad|><|media_end|>\n        {% elif content['type'] == 'video' or content['type']== 'video_url'-%}\n          <|kimi_k25_video_placeholder|>\n        {% else -%}\n          {{ content['text'] }}\n        {%- endif -%}\n      {%- endfor -%}\n    {%- endif -%}\n{%- endmacro -%}\n\n{% macro set_roles(message) -%}\n  {%- set role_name =  message.get('name') or  message['role'] -%}\n  {%- if message['role'] == 'user' -%}\n    <|im_user|>{{role_name}}<|im_middle|>\n  {%- elif message['role'] == 'assistant' -%}\n    <|im_assistant|>{{role_name}}<|im_middle|>\n  {%- else -%}\n    <|im_system|>{{role_name}}<|im_middle|>\n  {%- endif -%}\n{%- endmacro -%}\n\n\n{%- macro render_toolcalls(message) -%}\n  <|tool_calls_section_begin|>\n  {%- for tool_call in message['tool_calls'] -%}\n    {%- set formatted_id = tool_call['id'] -%}\n    <|tool_call_begin|>{{ formatted_id }}<|tool_call_argument_begin|>{% if tool_call['function']['arguments'] is string %}{{ tool_call['function']['arguments'] }}{% else %}{{ tool_call['function']['arguments'] | tojson }}{% endif %}<|tool_call_end|>\n  {%- endfor -%}\n  <|tool_calls_section_end|>\n{%- endmacro -%}\n\n\n{%- set preserve_thinking = preserve_thinking | default(true) -%}\n{# Find last non-tool-call assistant message. If preserve_thinking, keep -1 so hist is empty and all msgs use suffix (retain reasoning). #}\n{%- set ns = namespace(last_non_tool_call_assistant_msg=-1) -%}\n{%- if not preserve_thinking -%}\n{%- for idx in range(messages|length-1, -1, -1) -%}\n    {%- if messages[idx]['role'] == 'assistant' and not messages[idx].get('tool_calls') -%}\n        {%- set ns.last_non_tool_call_assistant_msg = idx -%}\n        {%- break -%}\n    {%- endif -%}\n{%- endfor -%}\n{%- endif -%}\n\n{# split all messages into history & suffix, reasoning_content in suffix should be reserved.#}\n{%- set hist_msgs = messages[:ns.last_non_tool_call_assistant_msg+1] -%}\n{%- set suffix_msgs = messages[ns.last_non_tool_call_assistant_msg+1:] -%}\n\n{%- if tools -%}\n  {%- if tools_ts_str -%}\n    <|im_system|>tool_declare<|im_middle|>{{ tools_ts_str }}<|im_end|>\n  {%- else -%}\n    <|im_system|>tool_declare<|im_middle|>{{ tools | tojson(separators=(',', ':')) }}<|im_end|>\n  {%- endif -%}\n{%- endif -%}\n\n  \n{%- for message in hist_msgs -%}\n  {{set_roles(message)}}\n  {%- if message['role'] == 'assistant' -%}\n    <think></think>{{render_content(message)}}\n    {%- if message.get('tool_calls') -%}\n      {{render_toolcalls(message)}}\n    {%- endif -%}\n  {%- elif message['role'] == 'tool' -%}\n    {%- set tool_call_id = message.tool_call_id -%}\n    ## Return of {{ tool_call_id }}\n{{render_content(message)}}\n  {%- elif message['content'] is not none -%}\n    {{render_content(message)}}\n  {%- endif -%}\n  <|im_end|>\n{%- endfor -%}\n\n{%- for message in suffix_msgs -%}\n  {{set_roles(message)}}\n  {%- if message['role'] == 'assistant' -%}\n    {%- if thinking is defined and thinking is false and preserve_thinking is false -%}\n    <think></think>{{render_content(message)}}\n    {%- else -%}\n    {%- set rc = message.get('reasoning', message.get('reasoning_content', '')) -%}\n    <think>{{rc}}</think>{{render_content(message)}}\n    {%- endif -%}\n    {%- if message.get('tool_calls') -%}\n     {{render_toolcalls(message)}}\n    {%- endif -%}\n  {%- elif message['role'] == 'tool' -%}\n    {%- set tool_call_id = message.tool_call_id -%}\n    ## Return of {{ tool_call_id }}\n{{render_content(message)}}\n  {%- elif message['content'] is not none -%}\n    {{render_content(message)}}\n  {%- endif -%}\n  <|im_end|>\n{%- endfor -%}\n\n\n{%- if add_generation_prompt -%}\n  <|im_assistant|>assistant<|im_middle|>\n  {%- if thinking is defined and thinking is false -%}\n  <think></think>\n  {%- else -%}\n  <think>\n  {%- endif -%}\n{%- endif -%}"222}