{#- Text-only training template for Gemma 4 (E2B) with assistant-only loss. -#} {{ bos_token }} {%- for message in messages -%} {%- if message['role'] == 'assistant' -%} {{ '<|turn>model\n' }}{% generation %}{{ message['content'] | trim }}{{ '\n' }}{% endgeneration %} {%- elif message['role'] == 'user' -%} {{ '<|turn>user\n' }}{{ message['content'] | trim }}{{ '\n' }} {%- elif message['role'] == 'system' -%} {{ '<|turn>user\n' }}{{ message['content'] | trim }}{{ '\n' }} {%- else -%} {{ raise_exception('Unsupported role: ' ~ message['role']) }} {%- endif -%} {%- endfor -%} {%- if add_generation_prompt -%} {{ '<|turn>model\n' }} {%- endif -%}