| 1 |
{# |
| 2 |
Gemma 2 instruct reference template. Mirrors Google's shipped |
| 3 |
`tokenizer.apply_chat_template` formatting: |
| 4 |
|
| 5 |
- no system role |
| 6 |
- alternating user / assistant turns |
| 7 |
- assistant is rendered as `model` |
| 8 |
- add_generation_prompt appends `<start_of_turn>model\n` |
| 9 |
#} |
| 10 |
{{ bos_token }}{% if messages[0]['role'] == 'system' %}{{ raise_exception('System role not supported') }}{% endif %}{% for message in messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if (message['role'] == 'assistant') %}{% set role = 'model' %}{% else %}{% set role = message['role'] %}{% endif %}{{ '<start_of_turn>' + role + '\n' + message['content'] | trim + '<end_of_turn>\n' }}{% endfor %}{% if add_generation_prompt %}{{ '<start_of_turn>model\n' }}{% endif %} |
| 11 |
|