| {% 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 -%} |