{%- 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|>'}} | |
{%- endif -%} | |
{%- if message['role'] == 'user' -%} | |
{{'<|im_user|>'}} | |
{%- endif -%} | |
{%- if message['role'] == 'assistant' -%} | |
{{'<|im_assistant|>'}} | |
{%- endif -%} | |
{{- message['role'] -}} | |
{{'<|im_middle|>'}} | |
{%- 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 -%} | |