Skip to content

Commit f1adff9

Browse files
committed
Fix multi-token character decoding for Qwen2 (legacy gen)
1 parent 4314792 commit f1adff9

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

exllamav2/generator/streaming.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -582,12 +582,12 @@ def _stream(self, ban_tokens: list[str] | None = None) -> (str, bool, torch.Tens
582582

583583
# Hold text if it contains an incomplete character
584584

585-
if self.held_text.endswith("�") and not self.held_text.endswith("�����"):
585+
if 1 <= self.held_text.count("�") < 5:
586586
test_decode = self.tokenizer.decode(
587587
self.held_tokens,
588-
decode_special_tokens=self.decode_special_tokens
588+
decode_special_tokens = self.decode_special_tokens
589589
)[0]
590-
if not test_decode.endswith("�"):
590+
if not "�" in test_decode:
591591
self.held_text = test_decode
592592
else:
593593
return "", False, self.no_tokens, self.no_probs, self.no_ptokens, self.no_pprobs, self.no_logits, None

0 commit comments

Comments
 (0)