| {% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = false %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user' or message['role'] == 'human') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<s>system | |
| ' + system_message + ' | |
| ' %}{% else %}{% set content = '' %}{% endif %}{% if message['role'] == 'user' or message['role'] == 'human' %}{{ content + '<s>human | |
| ' + message['content'] + ' | |
| ' }}{% elif message['role'] == 'assistant' or message['role'] == 'bot' %}{{ '<s>bot | |
| ' + message['content'] + ' | |
| ' + eos_token + ' | |
| '}}{% else %}{{ raise_exception('Only user/human and assistant/bot roles are supported!') }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<s>bot | |
| ' }}{% endif %} |