Fix issues with system_message rendering
Browse files- chat_template.json +1 -1
chat_template.json
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
{
|
2 |
-
"chat_template": "{%- if messages[0][\"role\"] == \"system\" %}\n {%- set system_message = messages[0][\"content\"] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}\n {{- raise_exception('After the optional system message, conversation roles must alternate user/assistant/user/assistant
|
3 |
}
|
|
|
1 |
{
|
2 |
+
"chat_template": "{%- if messages[0][\"role\"] == \"system\" %}\n {%- if messages[0][\"content\"] is not string %}\n {%- if len(messages[0][\"content\"]) != 1 %}\n {{- raise_exception(\"Multiple messages in system prompt are not supported!\") }}\n {%- endif %}\n {%- if message[\"content\"][0][\"type\"] == \"text\" %}\n {{- set system_message = message[\"content\"][0][\"content\"] }}\n {%- else %}\n {{- raise_exception(\"Unrecognized content type for system message!\") }}\n {%- endif %}\n {%- else %}\n {{- set system_message = messages[0][\"content\"] }}\n {%- endif %}\n {%- set loop_messages = messages[1:] %}\n {%- else %}\n {%- set loop_messages = messages %}\n {%- endif %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if (message[\'role\'] == \'user\') != (loop.index0 % 2 == 0) %}\n {{- raise_exception(\'After the optional system message, conversation roles must alternate user/assistant/user/assistant/...\') }}\n {%- endif %}\n {%- if message[\"role\"] == \"user\" %}\n {%- if loop.last and system_message is defined %}\n {{- \"[INST]\" + system_message + \"\n\n \" }}\n {%- else %}\n {{- \"[INST]\" }}\n {%- endif %}\n {%- if message[\"content\"] is not string %}\n {%- for chunk in message[\"content\"] %}\n {%- if chunk[\"type\"] == \"text\" %}\n {{- chunk[\"content\"] }}\n {%- elif chunk[\"type\"] == \"image\" %}\n {{- \"[IMG]\" }}\n {%- else %}\n {{- raise_exception(\"Unrecognized content type!\") }}\n {%- endif %}\n {%- endfor %}\n {%- else %}\n {{- message[\"content\"] }}\n {%- endif %}\n {{- \"[/INST]\" }}\n {%- elif message[\"role\"] == \"assistant\" %}\n {{- message[\"content\"] + eos_token}}\n {%- else %}\n {{- raise_exception(\"Only user and assistant roles are supported, with the exception of an initial optional system message!\") }}\n {%- endif %}\n {%- endfor %}"
|
3 |
}
|