j2prompt-lint/jinja2-prompt-template-corpus huggingface dataset:
{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ '
system
' + system_message + '

' }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '
user
' + content + '


assistant
' }}{% elif message['role'] == 'assistant' %}{{ content + '
' + '
' }}{% endif %}{% endfor %}
{%- if messages[0]['role'] == 'system' %}
    {%- set system_message = messages[0]['content'] %}
    {%- set loop_messages = messages[1:] %}
{%- else %}
    {%- set loop_messages = messages %}
{%- endif %}

{%- for message in loop_messages %}
    {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}
        {{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant/...') }}
    {%- endif %}
    {%- if loop.first and system_message is defined %}
            {{- '### System:
' + system_message + '
' }}
           {%- endif %}
     {%- if message['role'] == 'user' %}
  {{- '### User:
' + message['content'] + ' 
' }}
       {%- elif message['role'] == 'assistant' %}
        {{- '### Assistant:
' + message['content'] + eos_token + '
'}}
    {%- else %}
        {{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }}
    {%- endif %}
{%- endfor %}{% if add_generation_prompt %}{{ '### Assistant:
' }}{% endif %}