Allen Poston
commited on
Upload chat_template.jinja with huggingface_hub
Browse files- chat_template.jinja +24 -0
chat_template.jinja
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{%- if messages[0]['role'] == 'system' %}
|
2 |
+
{%- set system_message = messages[0]['content'] %}
|
3 |
+
{%- set loop_messages = messages[1:] %}
|
4 |
+
{%- else %}
|
5 |
+
{%- set loop_messages = messages %}
|
6 |
+
{%- endif %}
|
7 |
+
|
8 |
+
{{- bos_token }}
|
9 |
+
{%- for message in loop_messages %}
|
10 |
+
{%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}
|
11 |
+
{{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant/...') }}
|
12 |
+
{%- endif %}
|
13 |
+
{%- if message['role'] == 'user' %}
|
14 |
+
{%- if loop.first and system_message is defined %}
|
15 |
+
{{- ' [INST] ' + system_message + '\n\n' + message['content'] + ' [/INST]' }}
|
16 |
+
{%- else %}
|
17 |
+
{{- ' [INST] ' + message['content'] + ' [/INST]' }}
|
18 |
+
{%- endif %}
|
19 |
+
{%- elif message['role'] == 'assistant' %}
|
20 |
+
{{- ' ' + message['content'] + eos_token}}
|
21 |
+
{%- else %}
|
22 |
+
{{- raise_exception('Only user and assistant roles are supported, with the exception of an initial optional system message!') }}
|
23 |
+
{%- endif %}
|
24 |
+
{%- endfor %}
|