2023-12-12 21:23:14 +01:00
|
|
|
instruction_template: |-
|
2024-09-21 18:48:28 +02:00
|
|
|
{%- if messages[0]['role'] == 'system' %}
|
|
|
|
{%- set system_message = messages[0]['content'] %}
|
|
|
|
{%- set loop_messages = messages[1:] %}
|
|
|
|
{%- else %}
|
|
|
|
{%- set loop_messages = messages %}
|
|
|
|
{%- endif %}
|
|
|
|
|
|
|
|
{{- bos_token }}
|
|
|
|
{%- for message in loop_messages %}
|
|
|
|
{%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}
|
|
|
|
{{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant/...') }}
|
|
|
|
{%- endif %}
|
|
|
|
{%- if message['role'] == 'user' %}
|
|
|
|
{%- if loop.first and system_message is defined %}
|
|
|
|
{{- ' [INST] ' + system_message + '\\n\\n' + message['content'] + ' [/INST]' }}
|
|
|
|
{%- else %}
|
|
|
|
{{- ' [INST] ' + message['content'] + ' [/INST]' }}
|
|
|
|
{%- endif %}
|
|
|
|
{%- elif message['role'] == 'assistant' %}
|
|
|
|
{{- ' ' + message['content'] + '</s>'}}
|
|
|
|
{%- else %}
|
|
|
|
{{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }}
|
|
|
|
{%- endif %}
|
|
|
|
{%- endfor %}
|