File size: 1,014 Bytes
362c32c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{%- if not messages %}
    {{- raise_exception('No messages provided.') }}
{%- endif %}
{%- for message in messages %}
    {%- if loop.first and message.role == 'system' %}
        {{- '<|im_start|>system\n' + message.content | trim + '<|im_end|>\n' }}
    {%- elif message.role == 'user' %}
        {{- '<|im_start|>user\n' + message.content | trim + '<|im_end|>\n' }}
    {%- elif message.role == 'assistant' %}
        {%- if not loop.last %}
            {{- '<|im_start|>assistant\n' + message.content | trim + '<|im_end|>\n' }}
        {%- else %}
            {%- set content = message.content | trim %}
            {%- if content.startswith('<think>') %}
                {{- '<|im_start|>assistant\n' + content + '<|im_end|>\n' }}
            {%- else %}
                {{- '<|im_start|>assistant\n<think>\n' + content + '<|im_end|>\n' }}
            {%- endif %}
        {%- endif %}
    {%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
    {{- '<|im_start|>assistant\n<think>\n' }}
{%- endif %}