Allow passing system prompt to chat template
#4
by
gabrielmbmb
HF staff
- opened
- tokenizer_config.json +1 -1
tokenizer_config.json
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
},
|
28 |
"additional_special_tokens": [],
|
29 |
"bos_token": "<s>",
|
30 |
-
"chat_template": "{{
|
31 |
"clean_up_tokenization_spaces": false,
|
32 |
"eos_token": "</s>",
|
33 |
"legacy": true,
|
|
|
27 |
},
|
28 |
"additional_special_tokens": [],
|
29 |
"bos_token": "<s>",
|
30 |
+
"chat_template": "{%- if messages[0]['role'] == 'system' %}\n {%- set system_message = messages[0]['content'] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}\n {{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant/...') }}\n {%- endif %}\n {%- if message['role'] == 'user' %}\n {%- if loop.first and system_message is defined %}\n {{- ' [INST] ' + system_message + '\\n\\n' + message['content'] + ' [/INST]' }}\n {%- else %}\n {{- ' [INST] ' + message['content'] + ' [/INST]' }}\n {%- endif %}\n {%- elif message['role'] == 'assistant' %}\n {{- ' ' + message['content'] + eos_token}}\n {%- else %}\n {{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }}\n {%- endif %}\n{%- endfor %}\n",
|
31 |
"clean_up_tokenization_spaces": false,
|
32 |
"eos_token": "</s>",
|
33 |
"legacy": true,
|