File size: 1,362 Bytes
3a1fbb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
29
30
31
{%- set image_count = namespace(value=0) -%}
{%- set video_count = namespace(value=0) -%}
{%- for message in messages %}
    {%- if loop.first and message['role'] != 'system' %}
        {{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' -}}
    {%- endif %}
    {{- '<|im_start|>' + message['role'] -}}
    {%- if message['content'] is string -%}
        {{- '\n\n' + message['content'] -}}
    {%- else -%}
        {{- '\n' -}}
        {%- for content in message['content'] -%}
            {%- if content['type'] == 'image' or 'image' in content or 'image_url' in content -%}
                {%- set image_count.value = image_count.value + 1 -%}
                {%- if add_vision_id %}{{ 'Picture ' }}{{ image_count.value }}{{ ': ' }}{% endif -%}
                {{- '<|image_pad|>' -}}
            {%- elif content['type'] == 'video' or 'video' in content -%}
                {%- set video_count.value = video_count.value + 1 -%}
                {%- if add_vision_id %}{{ 'Video ' }}{{ video_count.value }}{{ ': ' }}{% endif -%}
                {{- '<|video_pad|>' -}}
            {%- elif 'text' in content -%}
                {{- content['text'] -}}
            {%- endif -%}
        {%- endfor %}
    {%- endif -%}
    {{- '\n<|im_end|>\n' -}}
{% endfor %}
{%- if add_generation_prompt -%}
    {{- '<|im_start|>assistant\n' -}}
{%- endif %}