]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
gguf-py : fix TemplateProcessing pair when bos/eos is missing (#14312)
authorSigbjørn Skjæret <redacted>
Sat, 21 Jun 2025 05:33:21 +0000 (07:33 +0200)
committerGitHub <redacted>
Sat, 21 Jun 2025 05:33:21 +0000 (07:33 +0200)
gguf-py/gguf/vocab.py

index 6c4d3a422b99dd67408ffb8af287b1b7f95d4523..a792d56f0677dbcb49cbad912cada237310d42c6 100644 (file)
@@ -201,9 +201,9 @@ class SpecialVocab:
                             if special_last != special_eos:
                                 logger.warning(f'Unknown trailing special token {special_last!r} in TemplateProcessing<single>')
                     if tmpl_pair:
-                        seq_start = 1 if tmpl_pair[0].get('SpecialToken', {}).get('id') == special_first else 0
-                        seq_stop = -1 if tmpl_pair[-1].get('SpecialToken', {}).get('id') == special_last else None
-                        if seq_start == 0 or seq_stop is None:
+                        seq_start = 1 if special_first and tmpl_pair[0].get('SpecialToken', {}).get('id') == special_first else 0
+                        seq_stop = -1 if special_last and tmpl_pair[-1].get('SpecialToken', {}).get('id') == special_last else None
+                        if (special_first and seq_start == 0) or (special_last and seq_stop is None):
                             logger.warning('TemplateProcessing<single> leading/trailing special tokens do not match TemplateProcessing<pair>')
                         if tmpl_pair := tmpl_pair[slice(seq_start, seq_stop)]:
                             tmpl_a = tmpl_pair[0].get('Sequence', {}).get('id')