update chat_template to allow system prompt

#15
Files changed (1) hide show
  1. tokenizer_config.json +1 -1
tokenizer_config.json CHANGED
@@ -39,5 +39,5 @@
39
  "tokenizer_class": "LlamaTokenizer",
40
  "unk_token": "<unk>",
41
  "use_default_system_prompt": false,
42
- "chat_template": "{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'user' %}{{ '[INST] ' + message['content'] + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + eos_token}}{% else %}{{ raise_exception('Only user and assistant roles are supported!') }}{% endif %}{% endfor %}"
43
  }
 
39
  "tokenizer_class": "LlamaTokenizer",
40
  "unk_token": "<unk>",
41
  "use_default_system_prompt": false,
42
+ "chat_template": "{% if messages[0]['role'] == 'system' %}{% set contains_sys_prompt = 1 %}{% else %}{% set contains_sys_prompt = 0 %}{% endif %}{{ bos_token }}{% for message in messages %}{% if (message['role'] == 'user') != ((loop.index0 + contains_sys_prompt) % 2 == 0) %}{{ raise_exception('Conversation roles must alternate (system/)user/assistant/user/assistant/...') }}{% endif %}{% if message['role'] == 'system' %}{{ '[INST] <<SYS>>' + message['content'].strip() + '<</SYS>>' }}{% elif message['role'] == 'user' %}{{ (' ' if contains_sys_prompt == 1 and loop.index0 == 1 else '[INST] ') + message['content'].strip() + ' [/INST] ' }}{% elif message['role'] == 'assistant' %}{{ message['content'].strip() + eos_token}}{% else %}{{ raise_exception('Only system, user and assistant roles are supported!') }}{% endif %}{% endfor %}"
43
  }