Repository: nomic-ai/gpt4all
File: gpt4all-chat/src/jinja_replacements.cpp (C++)

Code before:
{%- if add_generation_prompt %}
    {{- '
assistant\n' }}
{%- endif %})TEMPLATE",
    },
    // OLMoE-1B-7B-0125-Instruct-Q4_0.gguf (nomic-ai/gpt4all#3471)
    {
        // original
        R"TEMPLATE({{ bos_token }}{% for message in messages %}{% if message['role'] == 'system' %}{{ '

' + message['content'] + '
' }}{% elif message['role'] == 'user' %}{{ '

' + message['content'] + '
' }}{% elif message['role'] == 'assistant' %}{% if not loop.last %}{{ '

'  + message['content'] + eos_token + '
' }}{% else %}{{ '

'  + message['content'] + eos_token }}{% endif %}{% endif %}{% if loop.last and add_generation_prompt %}{{ '

' }}{% endif %}{% endfor %})TEMPLATE",
        // replacement
        R"TEMPLATE({{- bos_token }}
{%- for message in messages %}
    {%- if message['role'] == 'system' %}
        {{- '
\n' + message['content'] + '\n' }}
    {%- elif message['role'] == 'user' %}
        {{- '
\n' + message['content'] + '\n' }}
    {%- elif message['role'] == 'assistant' %}
        {%- if not loop.last %}
            {{- '
\n'  + message['content'] + eos_token + '\n' }}
        {%- else %}
            {{- '
\n'  + message['content'] + eos_token }}
        {%- endif %}
    {%- endif %}
    {%- if loop.last and add_generation_prompt %}
        {{- '
\n' }}
    {%- endif %}
{%- endfor %})TEMPLATE",
    },
    // OLMoE-1B-7B-0924-Instruct-Q4_0.gguf (nomic-ai/gpt4all#3471)
    {
        // original
        R"TEMPLATE({{ bos_token }}{% for message in messages %}
{% if message['role'] == 'system' %}
{{ '

' + message['content'] }}
{% elif message['role'] == 'user' %}
{{ '

' + message['content'] }}
{% elif message['role'] == 'assistant' %}
{{ '

'  + message['content'] + eos_token }}
{% endif %}
{% if loop.last and add_generation_prompt %}
{{ '
' }}

Review comment (suggestion):
In this line there are two spaces before the `+`, but when I copy it into a github comment, then it is only one space... weird.

Code after:
{%- if add_generation_prompt %}
    {{- '
assistant\n' }}
{%- endif %})TEMPLATE",
    },
    // OLMoE-1B-7B-0125-Instruct-Q4_0.gguf (nomic-ai/gpt4all#3471)
    {
        // original
        R"TEMPLATE({{ bos_token }}{% for message in messages %}{% if message['role'] == 'system' %}{{ '

' + message['content'] + '
' }}{% elif message['role'] == 'user' %}{{ '

' + message['content'] + '
' }}{% elif message['role'] == 'assistant' %}{% if not loop.last %}{{ '

'  + message['content'] + eos_token + '
' }}{% else %}{{ '

'  + message['content'] + eos_token }}{% endif %}{% endif %}{% if loop.last and add_generation_prompt %}{{ '

' }}{% endif %}{% endfor %})TEMPLATE",
        // replacement
        R"TEMPLATE({{- bos_token }}
{%- for message in messages %}
    {%- if message['role'] == 'system' %}
        {{- '
\n' + message['content'] + '\n' }}
    {%- elif message['role'] == 'user' %}
        {{- '
\n' + message['content'] + '\n' }}
    {%- elif message['role'] == 'assistant' %}
        {%- if not loop.last %}
            {{- '
\n' + message['content'] + eos_token + '\n' }}
        {%- else %}
            {{- '
\n' + message['content'] + eos_token }}
        {%- endif %}
    {%- endif %}
    {%- if loop.last and add_generation_prompt %}
        {{- '
\n' }}
    {%- endif %}
{%- endfor %})TEMPLATE",
    },
    // OLMoE-1B-7B-0924-Instruct-Q4_0.gguf (nomic-ai/gpt4all#3471)
    {
        // original
        R"TEMPLATE({{ bos_token }}{% for message in messages %}
{% if message['role'] == 'system' %}
{{ '

' + message['content'] }}
{% elif message['role'] == 'user' %}
{{ '

' + message['content'] }}
{% elif message['role'] == 'assistant' %}
{{ '

'  + message['content'] + eos_token }}
{% endif %}
{% if loop.last and add_generation_prompt %}
{{ '
' }}