From 73b12c77a952e35330bff9749433453f6a6ae14b Mon Sep 17 00:00:00 2001 From: 51616 Date: Tue, 10 Jun 2025 03:08:27 +0000 Subject: [PATCH] fix chat template (include chat eos in labels) --- chat_templates/google/gemma-3-1b-it.jinja | 54 +++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 chat_templates/google/gemma-3-1b-it.jinja diff --git a/chat_templates/google/gemma-3-1b-it.jinja b/chat_templates/google/gemma-3-1b-it.jinja new file mode 100644 index 0000000..6db3861 --- /dev/null +++ b/chat_templates/google/gemma-3-1b-it.jinja @@ -0,0 +1,54 @@ +{{ bos_token }} +{%- if messages[0]['role'] == 'system' -%} + {%- if messages[0]['content'] is string -%} + {%- set first_user_prefix = messages[0]['content'] + ' + +' -%} + {%- else -%} + {%- set first_user_prefix = messages[0]['content'][0]['text'] + ' + +' -%} + {%- endif -%} + {%- set loop_messages = messages[1:] -%} +{%- else -%} + {%- set first_user_prefix = "" -%} + {%- set loop_messages = messages -%} +{%- endif -%} +{%- for message in loop_messages -%} + {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) -%} + {{ raise_exception("Conversation roles must alternate user/assistant/user/assistant/...") }} + {%- endif -%} + {%- if (message['role'] == 'assistant') -%} + {%- set role = "model" -%} + {%- else -%} + {%- set role = message['role'] -%} + {%- endif -%} + {{ '' + role + ' +' + (first_user_prefix if loop.first else "") }} + {%- if message['content'] is string -%} + {%- if message['role'] == 'assistant' -%} + {% generation %}{{ message['content'] | trim }} + {%- else -%} + {{ message['content'] | trim }} + {%- endif -%} + {# {%- elif message['content'] is iterable -%} + {%- for item in message['content'] -%} + {%- if item['type'] == 'image' -%} + {{ '' }} + {%- elif item['type'] == 'text' -%} + {{ item['text'] | trim }} + {%- endif -%} + {%- endfor -%} + {%- else -%} #} + {{ raise_exception("Invalid content type") }} + {%- endif -%} + {{ ' +' }} + {%- if (message['role'] == 'assistant') -%} + {% endgeneration %} + {%- endif -%} +{%- endfor -%} +{%- if add_generation_prompt -%} + {{'model +'}} +{%- endif -%} \ No newline at end of file