| {% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{{ '<|im_start|>system | |
| ' + messages[0]['content'] + '<|im_end|> | |
| ' }}{% else %}{% set loop_messages = messages %}{{ '<|im_start|>system | |
| You are a helpful assistant.<|im_end|> | |
| ' }}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant...') }}{% endif %}{% if message['role'] == 'user' %}{{ '<|im_start|>user | |
| ' + message['content'] + '<|im_end|> | |
| ' }}{% elif message['role'] == 'assistant' %}{{ '<|im_start|>assistant | |
| ' + message['content'] + '<|im_end|> | |
| ' }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant | |
| ' }}{% endif %} |