@@ -811,7 +811,7 @@ def template(self):
811
811
"{% if message['role'] == 'system' %}"
812
812
"{{ message['content'] }}"
813
813
"{% elif message['role'] == 'user' %}"
814
- "{{ '### User Message\\ n' + message['content'] + '\\ n\\ n' + '### Assistant\\ n'}}"
814
+ "{{ '### User Message\\ n' + message['content'] + '\\ n\\ n' + '### Assistant\\ n' }}"
815
815
"{% elif message['role'] == 'assistant' %}"
816
816
"{{ message['content'] + '\\ n\\ n' }}"
817
817
"{% endif %}"
@@ -846,7 +846,7 @@ def template(self):
846
846
"{% if message['role'] == 'system' %}"
847
847
"{{ message['content'] }}"
848
848
"{% elif message['role'] == 'user' %}"
849
- "{{ '### Instruction:\\ n' + message['content'] + '\\ n' + '### Response:\\ n'}}"
849
+ "{{ '### Instruction:\\ n' + message['content'] + '\\ n' + '### Response:\\ n' }}"
850
850
"{% elif message['role'] == 'assistant' %}"
851
851
"{{ message['content'] + '\\ n<|EOT|>\\ n' }}"
852
852
"{% endif %}"
@@ -869,14 +869,37 @@ def template(self):
869
869
"{% if message['role'] == 'system' %}"
870
870
"{{ message['content'] }}"
871
871
"{% elif message['role'] == 'user' %}"
872
- "{{ '[|Human|]:' + message['content'] + '[|AI|]:'}}"
872
+ "{{ '[|Human|]:' + message['content'] + '[|AI|]:' }}"
873
873
"{% elif message['role'] == 'assistant' %}"
874
874
"{{ message['content'] + '</s>' }}"
875
875
"{% endif %}"
876
876
"{% endfor %}"
877
877
)
878
878
879
879
880
+ class ZephyrTemplate (BaseTemplate ):
881
+
882
+ name = "zephyr"
883
+ allow_models = ["zephyr" ]
884
+
885
+ @property
886
+ def template (self ):
887
+ return (
888
+ "{% for message in messages %}"
889
+ "{% if message['role'] == 'system' %}"
890
+ "{{ '<|system|>\\ n' + message['content'] + '</s>' + + '\\ n' }}"
891
+ "{% elif message['role'] == 'user' %}"
892
+ "{{ '<|user|>\\ n' + message['content'] + '</s>' + '\\ n' }}"
893
+ "{% elif message['role'] == 'assistant' %}"
894
+ "{{ '<|assistant|>\\ n' + message['content'] + '</s>' + '\\ n' }}"
895
+ "{% endif %}"
896
+ "{% if loop.last and add_generation_prompt %}"
897
+ "{{ '<|assistant|>' + '\\ n' }}"
898
+ "{% endif %}"
899
+ "{% endfor %}"
900
+ )
901
+
902
+
880
903
register_prompt_adapter (AlpacaTemplate )
881
904
register_prompt_adapter (AquilaChatTemplate )
882
905
register_prompt_adapter (BaiChuanTemplate )
@@ -901,6 +924,7 @@ def template(self):
901
924
register_prompt_adapter (VicunaTemplate )
902
925
register_prompt_adapter (XuanYuanTemplate )
903
926
register_prompt_adapter (XverseTemplate )
927
+ register_prompt_adapter (ZephyrTemplate )
904
928
register_prompt_adapter (BaseTemplate )
905
929
906
930
@@ -910,5 +934,5 @@ def template(self):
910
934
{"role" : "assistant" , "content" : "I'm doing great. How can I help you today?" },
911
935
{"role" : "user" , "content" : "I'd like to show off how chat templating works!" },
912
936
]
913
- template = get_prompt_adapter (prompt_name = "bluelm " )
937
+ template = get_prompt_adapter (prompt_name = "zephyr " )
914
938
print (template .apply_chat_template (chat ))
0 commit comments