35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
|
|
{{- bos_token }}
|
||
|
|
|
||
|
|
{# --- Extract system message (optional) --- #}
|
||
|
|
{%- if messages and messages[0]['role'] == 'system' %}
|
||
|
|
{%- set system_message = messages[0]['content'] | trim %}
|
||
|
|
{%- set messages = messages[1:] %}
|
||
|
|
{%- else %}
|
||
|
|
{%- set system_message = "Respond with your reasoning wrapped in <think>...</think>, then provide the final answer within \\\\boxed{}." %}
|
||
|
|
{%- endif %}
|
||
|
|
|
||
|
|
{# --- System block --- #}
|
||
|
|
{{- "<|start_header_id|>system<|end_header_id|>\n\n" }}
|
||
|
|
{{- system_message }}
|
||
|
|
{{- "<|eot_id|>" }}
|
||
|
|
|
||
|
|
{# --- Render all remaining messages --- #}
|
||
|
|
{%- for message in messages %}
|
||
|
|
{%- if message['role'] in ['system', 'user', 'assistant'] %}
|
||
|
|
{%- if message['role'] == 'assistant' %}
|
||
|
|
{{- "<|start_header_id|>assistant<|end_header_id|>\n\n" }}
|
||
|
|
{%- generation %}
|
||
|
|
{{- message['content'] | trim }}
|
||
|
|
{%- endgeneration %}
|
||
|
|
{{- "<|eot_id|>" }}
|
||
|
|
{%- else %}
|
||
|
|
{{- "<|start_header_id|>" + message['role'] + "<|end_header_id|>\n\n" + (message['content'] | trim) + "<|eot_id|>" }}
|
||
|
|
{%- endif %}
|
||
|
|
{%- endif %}
|
||
|
|
{%- endfor %}
|
||
|
|
|
||
|
|
{# --- Generation prompt --- #}
|
||
|
|
{%- if add_generation_prompt %}
|
||
|
|
{{- "<|start_header_id|>assistant<|end_header_id|>\n\n" }}
|
||
|
|
{%- endif %}
|