{%- for message in messages %} {%- if message['role'] == 'tool' %} {{- '<|tool_result_start|>' + message['content'] + '<|tool_result_end|><|end_of_turn|>' }} {%- else %} {{- '<|' + message['role'] + '|>' }} {%- if message.get('reasoning') %}{{ '<|think_start|>' + message['reasoning'] + '<|think_end|>' }}{% endif %} {%- if message.get('tool_calls') %}{{ '<|tool_call_start|>' + (message['tool_calls'] | tojson) + '<|tool_call_end|>' }}{% endif %} {{- message.get('content', '') + '<|end_of_turn|>' }} {%- endif %} {%- endfor %} {%- if add_generation_prompt %}{{ '<|assistant|><|think_start|>' }}{% endif %}