IMISLab commited on
Commit
522253d
·
verified ·
1 Parent(s): c721527

Upload tokenizer

Browse files
Files changed (4) hide show
  1. .gitattributes +1 -0
  2. chat_template.jinja +125 -0
  3. tokenizer.json +3 -0
  4. tokenizer_config.json +15 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
chat_template.jinja ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {#- Default system message if no system prompt is passed. #}
2
+ {%- set default_system_message = 'Είσαι ο Μαΐστρος, ένα εξαιρετικά ανεπτυγμένο μοντέλο Τεχνητής Νοημοσύνης για την Ελληνική γλώσσα.\nΈχεις δημιουργηθεί απο το IMIS Lab του Πανεπιστημιού Πατρών.\nΗ βάση γνώσεών σoυ ενημερώθηκε τελευταία φορά στις 20-01-2026.\nΌταν δεν είσαι σίγουρος για κάποιες πληροφορίες ή όταν το αίτημα του χρήστη απαιτεί ενημερωμένα ή συγκεκριμένα δεδομένα, τότε δήλωσε σαφώς ότι δεν έχεις τις πληροφορίες και αποφύγε να απαντήσεις οτιδήποτε.\nΕάν η ερώτηση του χρήστη δεν είναι σαφής, διφορούμενη ή δεν παρέχει επαρκές πληροφορίες για να απαντήσεις με ακρίβεια, ζητάς από τον χρήστη να διευκρινίσει το αίτημά του (π.χ. "Ποια είναι μερικά καλά εστιατόρια γύρω μου;" => "Πού είσαι;" ή "Πότε είναι η επόμενη πτήση για Τόκιο" => "Από πού ταξιδεύεις;").\nΕίσαι πάντα πολύ προσεκτικός στις ημερομηνίες και όταν σε ρωτούν για πληροφορίες σε συγκεκριμένες ημερομηνίες, απορρίπτεις πληροφορίες που βρίσκονται σε άλλη ημερομηνία.\nΑκολουθείς τις οδηγίες αυτές σε όλες τις γλώσσες, αλλά απαντάς παντα στα ελληνικά, ακόμη και αν ο χρήστης σου πει διαφορετικά.\nΔεν μπορείς να εκτελέσεις καμία αναζήτηση στο διαδίκτυο ή να προσπελάσεις διευθύνσεις URL, συνδέσμους κ.λπ. Εάν ο χρήστης περιμένει να το κάνεις, διευκρινίζεις την κατάσταση και ζητάς από τον χρήστη να αντιγράψει και να επικολλήσει το κείμενο απευθείας στη συνομιλία.\nΈχεις τη δυνατότητα να επεξεργαστείς εικόνες, αλλά δεν μπορείς να δημιουργείς εικόνες. \nΔε μπορείς να επεξεργαστείς ή να παράγεις αρχεία ήχου ή βίντεο.' %}
3
+
4
+ {#- Begin of sequence token. #}
5
+ {{- bos_token }}
6
+
7
+ {#- Handle system prompt if it exists. #}
8
+ {#- System prompt supports text content or text chunks. #}
9
+ {%- if messages[0]['role'] == 'system' %}
10
+ {{- '[SYSTEM_PROMPT]' -}}
11
+ {%- if messages[0]['content'] is string %}
12
+ {{- messages[0]['content'] -}}
13
+ {%- else %}
14
+ {%- for block in messages[0]['content'] %}
15
+ {%- if block['type'] == 'text' %}
16
+ {{- block['text'] }}
17
+ {%- else %}
18
+ {{- raise_exception('Only text chunks are supported in system message contents.') }}
19
+ {%- endif %}
20
+ {%- endfor %}
21
+ {%- endif %}
22
+ {{- '[/SYSTEM_PROMPT]' -}}
23
+ {%- set loop_messages = messages[1:] %}
24
+ {%- else %}
25
+ {%- set loop_messages = messages %}
26
+ {%- if default_system_message != '' %}
27
+ {{- '[SYSTEM_PROMPT]' + default_system_message + '[/SYSTEM_PROMPT]' }}
28
+ {%- endif %}
29
+ {%- endif %}
30
+
31
+
32
+ {#- Tools definition #}
33
+ {%- set tools_definition = '' %}
34
+ {%- set has_tools = false %}
35
+ {%- if tools is defined and tools is not none and tools|length > 0 %}
36
+ {%- set has_tools = true %}
37
+ {%- set tools_definition = '[AVAILABLE_TOOLS]' + (tools| tojson) + '[/AVAILABLE_TOOLS]' %}
38
+ {{- tools_definition }}
39
+ {%- endif %}
40
+
41
+ {#- Checks for alternating user/assistant messages. #}
42
+ {%- set ns = namespace(index=0) %}
43
+ {%- for message in loop_messages %}
44
+ {%- if message.role == 'user' or (message.role == 'assistant' and (message.tool_calls is not defined or message.tool_calls is none or message.tool_calls | length == 0)) %}
45
+ {%- if (message['role'] == 'user') != (ns.index % 2 == 0) %}
46
+ {{- raise_exception('After the optional system message, conversation roles must alternate user and assistant roles except for tool calls and results.') }}
47
+ {%- endif %}
48
+ {%- set ns.index = ns.index + 1 %}
49
+ {%- endif %}
50
+ {%- endfor %}
51
+
52
+ {#- Handle conversation messages. #}
53
+ {%- for message in loop_messages %}
54
+
55
+ {#- User messages supports text content or text and image chunks. #}
56
+ {%- if message['role'] == 'user' %}
57
+ {%- if message['content'] is string %}
58
+ {{- '[INST]' + message['content'] + '[/INST]' }}
59
+ {%- elif message['content'] | length > 0 %}
60
+ {{- '[INST]' }}
61
+ {%- if message['content'] | length == 2 %}
62
+ {%- set blocks = message['content'] | sort(attribute='type') %}
63
+ {%- else %}
64
+ {%- set blocks = message['content'] %}
65
+ {%- endif %}
66
+ {%- for block in blocks %}
67
+ {%- if block['type'] == 'text' %}
68
+ {{- block['text'] }}
69
+ {%- elif block['type'] in ['image', 'image_url'] %}
70
+ {{- '[IMG]' }}
71
+ {%- else %}
72
+ {{- raise_exception('Only text, image and image_url chunks are supported in user message content.') }}
73
+ {%- endif %}
74
+ {%- endfor %}
75
+ {{- '[/INST]' }}
76
+ {%- else %}
77
+ {{- raise_exception('User message must have a string or a list of chunks in content') }}
78
+ {%- endif %}
79
+
80
+ {#- Assistant messages supports text content or text and image chunks. #}
81
+ {%- elif message['role'] == 'assistant' %}
82
+ {%- if (message['content'] is none or message['content'] == '' or message['content']|length == 0) and (message['tool_calls'] is not defined or message['tool_calls'] is none or message['tool_calls']|length == 0) %}
83
+ {{- raise_exception('Assistant message must have a string or a list of chunks in content or a list of tool calls.') }}
84
+ {%- endif %}
85
+
86
+ {% generation %}
87
+
88
+ {%- if message['content'] is string %}
89
+ {{- message['content'] }}
90
+ {%- elif message['content'] | length > 0 %}
91
+ {%- for block in message['content'] %}
92
+ {%- if block['type'] == 'text' %}
93
+ {{- block['text'] }}
94
+ {%- else %}
95
+ {{- raise_exception('Only text chunks are supported in assistant message contents.') }}
96
+ {%- endif %}
97
+ {%- endfor %}
98
+ {%- endif %}
99
+
100
+ {%- if message['tool_calls'] is defined and message['tool_calls'] is not none and message['tool_calls']|length > 0 %}
101
+ {%- for tool in message['tool_calls'] %}
102
+ {%- set arguments = tool['function']['arguments'] %}
103
+ {%- if arguments is not string %}
104
+ {%- set arguments = arguments|tojson|safe %}
105
+ {%- elif arguments == '' %}
106
+ {%- set arguments = '{}' %}
107
+ {%- endif %}
108
+ {{- '[TOOL_CALLS]' + tool['function']['name'] + '[ARGS]' + arguments }}
109
+ {%- endfor %}
110
+ {%- endif %}
111
+
112
+ {#- End of sequence token for each assistant messages. #}
113
+ {{- eos_token }}
114
+
115
+ {% endgeneration %}
116
+
117
+ {#- Tool messages only supports text content. #}
118
+ {%- elif message['role'] == 'tool' %}
119
+ {{- '[TOOL_RESULTS]' + message['content']|string + '[/TOOL_RESULTS]' }}
120
+
121
+ {#- Raise exception for unsupported roles. #}
122
+ {%- else %}
123
+ {{- raise_exception('Only user, assistant and tool roles are supported, got ' + message['role']) }}
124
+ {%- endif %}
125
+ {%- endfor %}
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:577575622324b2e099e2648be26bdeb5e5815ffe66d7004e9e3ddbf421db6bf1
3
+ size 17078110
tokenizer_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": null,
3
+ "backend": "tokenizers",
4
+ "bos_token": "<s>",
5
+ "clean_up_tokenization_spaces": false,
6
+ "eos_token": "</s>",
7
+ "is_local": true,
8
+ "legacy": true,
9
+ "model_max_length": 1000000000000000019884624838656,
10
+ "pad_token": "<pad>",
11
+ "processor_class": "PixtralProcessor",
12
+ "tokenizer_class": "TokenizersBackend",
13
+ "unk_token": "<unk>",
14
+ "use_default_system_prompt": false
15
+ }