File size: 1,249 Bytes
b55a352 |
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 32 33 34 35 36 37 |
{% if tools -%}
{{ '<|im_system|>tool_declare<|im_middle|>' -}}
{{- tools | tojson -}}
{{ '<|im_end|>' -}}
{%- endif -%}
{%- for message in messages -%}
{%- if loop.first and messages[0]['role'] != 'system' -%}
{{ '<|im_system|>system<|im_middle|>You are a helpful assistant<|im_end|>' }}
{%- endif -%}
{%- if message['role'] == 'system' -%}
{{ '<|im_system|>system<|im_middle|>' }}
{%- elif message['role'] == 'user' -%}
{{ '<|im_user|>user<|im_middle|>' }}
{%- elif message['role'] == 'assistant' -%}
{{ '<|im_assistant|>assistant<|im_middle|>' }}
{%- elif message['role'] == 'tool' -%}
{{ '<|im_system|>tool<|im_middle|>' }}
{%- endif -%}
{%- if message['content'] is string -%}
{{- message['content'] + '<|im_end|>' -}}
{%- else -%}
{%- for content in message['content'] -%}
{%- if content['type'] == 'image' or 'image' in content or 'image_url' in content -%}
{{ '<|media_start|>image<|media_content|><|media_pad|><|media_end|>' }}
{%- else -%}
{{ content['text'] }}
{%- endif -%}
{%- endfor -%}
{{ '<|im_end|>' }}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{ '<|im_assistant|>assistant<|im_middle|>' }}
{%- endif -%} |