instruction_template: |- | |
{%- set ns = namespace(found=false) -%} | |
{%- for message in messages -%} | |
{%- if message['role'] == 'system' -%} | |
{%- set ns.found = true -%} | |
{%- endif -%} | |
{%- endfor -%} | |
{%- if not ns.found -%} | |
{{- '<|im_start|>system\n' + '' + '<|im_end|>\n' -}} | |
{%- endif %} | |
{%- for message in messages %} | |
{%- if message['role'] == 'system' -%} | |
{{- '<|im_start|>system\n' + message['content'] + '<|im_end|>\n' -}} | |
{%- else -%} | |
{%- if message['role'] == 'user' -%} | |
{{-'<|im_start|>user\n' + message['content'] + '<|im_end|>\n'-}} | |
{%- else -%} | |
{{-'<|im_start|>assistant\n' + message['content'] + '<|im_end|>\n' -}} | |
{%- endif -%} | |
{%- endif -%} | |
{%- endfor -%} | |
{%- if add_generation_prompt -%} | |
{{-'<|im_start|>assistant\n'-}} | |
{%- endif -%} | |