{% 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'] not in ['user', 'assistant', 'tool_calls'] %} {{ raise_exception('Invalid role: ' + message['role'] + '. Must be user, assistant, or tool_calls.') }} {% endif %} {% if loop.index0 == 0 and system_message != false %} {% set content = '<> ' + system_message + ' <> ' + message['content'] %} {% else %} {% set content = message['content'] %} {% endif %} {% if message['role'] == 'user' %} {{ bos_token + '[INST] ' + content.strip() + ' [/INST]' }} {% elif message['role'] == 'assistant' %} {{ ' ' + content.strip() + ' ' + eos_token }} {% elif message['role'] == 'tool_calls' %} {{ ' [TOOL_CALLS] ' + content.strip() + ' [/TOOL_CALLS] ' }} {% endif %} {% endfor %}