diff --git a/instruction-templates/Mistral V1.yaml b/instruction-templates/Mistral V1.yaml new file mode 100644 index 0000000000..950be5c7a2 --- /dev/null +++ b/instruction-templates/Mistral V1.yaml @@ -0,0 +1,25 @@ +instruction_template: |- + {%- 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'].rstrip() + ' [/INST]' }} + {%- else %} + {{- ' [INST] ' + message['content'].rstrip() + ' [/INST]' }} + {%- endif %} + {%- elif message['role'] == 'assistant' %} + {{- '' + message['content'] + ''}} + {%- else %} + {{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }} + {%- endif %} + {%- endfor %} diff --git a/instruction-templates/Mistral.yaml b/instruction-templates/Mistral.yaml deleted file mode 100644 index 02e5b20da1..0000000000 --- a/instruction-templates/Mistral.yaml +++ /dev/null @@ -1,15 +0,0 @@ -instruction_template: |- - {%- for message in messages %} - {%- if message['role'] == 'system' -%} - {{- message['content'] -}} - {%- else -%} - {%- if message['role'] == 'user' -%} - {{-'[INST] ' + message['content'].rstrip() + ' [/INST]'-}} - {%- else -%} - {{-'' + message['content'] + '' -}} - {%- endif -%} - {%- endif -%} - {%- endfor -%} - {%- if add_generation_prompt -%} - {{-''-}} - {%- endif -%} \ No newline at end of file