{% 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 = 'system ' + system_message + ' ' %}{% else %}{% set content = '' %}{% endif %}{% if message['role'] == 'user' or message['role'] == 'human' %}{{ content + 'human ' + message['content'] + ' ' }}{% elif message['role'] == 'assistant' or message['role'] == 'bot' %}{{ 'bot ' + message['content'] + ' ' + eos_token + ' '}}{% else %}{{ raise_exception('Only user/human and assistant/bot roles are supported!') }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ 'bot ' }}{% endif %}