Skip to content

Commit 9adad4d

Browse files
authored
[bugfix] fix template suffix (modelscope#7937)
1 parent 2291f4a commit 9adad4d

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

swift/template/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -677,14 +677,14 @@ def generate(self, model, *args, **kwargs):
677677
return model.generate(*args, **kwargs)
678678

679679
def skip_stop_tokens(self, generate_ids: List[int], is_finished: bool = True) -> List[int]:
680-
# Do not print template_meta.suffix[-1] and eos_token.
680+
# Do not print template_meta.suffix_stop and eos_token.
681681
# However, other stop_words will be printed.
682682
tokenizer = self.tokenizer
683683

684684
if len(generate_ids) > 0 and generate_ids[-1] == tokenizer.eos_token_id:
685685
generate_ids = generate_ids[:-1]
686686
# skip suffix and eos_token
687-
template_suffix = self.template_meta.suffix[-1]
687+
template_suffix = self.template_meta.suffix_stop
688688
if isinstance(template_suffix, str):
689689
# [-1:]: fix OpenGVLab/Mini-InternVL-Chat-4B-V1-5
690690
template_suffix = tokenizer.encode(template_suffix, add_special_tokens=False)[-1:]

swift/template/template_meta.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def init(self, tokenizer: PreTrainedTokenizerBase) -> None:
123123
suffix_stop = self.suffix[-1] if self.suffix else None
124124
if isinstance(suffix_stop, str):
125125
suffix_stop = suffix_stop.strip()
126+
self.suffix_stop = suffix_stop
126127
if suffix_stop and suffix_stop not in self.stop_words:
127128
self.stop_words.append(suffix_stop)
128129
if tokenizer.eos_token not in self.stop_words:

0 commit comments

Comments
 (0)