File size: 1,027 Bytes
0bc5eb1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
26
27
28
{%- if messages is string -%}
    {{- messages -}}
{%- else -%}
    {%- for message in messages -%}
        {%- if loop.first and messages[0]['role'] != 'system' -%}
            {{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' -}}
        {%- endif -%}
        {{- '<|im_start|>' + message['role'] + '\n' -}}
        {%- if message['content'] is string -%}
            {{- message['content'] -}}
        {%- elif message['content'] is iterable -%}
            {%- for item in message['content'] -%}
                {%- if item['type'] == 'image' -%}
                    {{- '<image>\n' -}}
                {%- elif item['type'] == 'text' -%}
                    {{- item['text'] -}}
                {%- endif -%}
            {%- endfor -%}
        {%- else -%}
            {{- raise_exception("Invalid content type") -}}
        {%- endif -%}
        {{- '<|im_end|>' + '\n' -}}
    {%- endfor -%}
    {%- if add_generation_prompt -%}
        {{- '<|im_start|>assistant\n' -}}
    {%- endif -%}
{%- endif -%}