Files
pure-7b-210726/chat_template.jinja

23 lines
959 B
Plaintext
Raw Normal View History

{%- set ns = namespace(expected='user') -%}
{%- for message in messages -%}
{%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
{%- if role == 'system' -%}
{%- if not loop.first -%}
{{- raise_exception("System message, if present, must be first.") -}}
{%- endif -%}
{{- '<|im_start|>system\n' + message['content'] + '<|im_end|>\n' -}}
{%- else -%}
{%- if role not in ['user', 'model'] -%}
{{- raise_exception("Only 'system', 'user' and 'model' (or 'assistant') roles are allowed, got: " + message['role']) -}}
{%- endif -%}
{%- if role != ns.expected -%}
{{- raise_exception("user/model must alternate starting with user; expected " + ns.expected + ", got " + role) -}}
{%- endif -%}
{%- set ns.expected = 'model' if role == 'user' else 'user' -%}
{{- '<|im_start|>' + role + '\n' + message['content'] + '<|im_end|>\n' -}}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{{- '<|im_start|>model\n' -}}
{%- endif -%}