Fix prompt showing (now skipping)
Browse files
app.py
CHANGED
@@ -16,9 +16,9 @@ class RichTextStreamer(TextIteratorStreamer):
|
|
16 |
def __init__(self, tokenizer, **kwargs):
|
17 |
super().__init__(tokenizer, **kwargs)
|
18 |
self.token_queue = queue.Queue()
|
|
|
19 |
|
20 |
def put(self, value):
|
21 |
-
# Convert incoming tensor or list to flat list of token IDs
|
22 |
if isinstance(value, torch.Tensor):
|
23 |
token_ids = value.view(-1).tolist()
|
24 |
elif isinstance(value, list):
|
@@ -27,6 +27,9 @@ class RichTextStreamer(TextIteratorStreamer):
|
|
27 |
token_ids = [value]
|
28 |
|
29 |
for token_id in token_ids:
|
|
|
|
|
|
|
30 |
token_str = self.tokenizer.decode([token_id], **self.decode_kwargs)
|
31 |
is_special = token_id in self.tokenizer.all_special_ids
|
32 |
self.token_queue.put({
|
@@ -34,6 +37,7 @@ class RichTextStreamer(TextIteratorStreamer):
|
|
34 |
"token": token_str,
|
35 |
"is_special": is_special
|
36 |
})
|
|
|
37 |
|
38 |
def __iter__(self):
|
39 |
while True:
|
|
|
16 |
def __init__(self, tokenizer, **kwargs):
|
17 |
super().__init__(tokenizer, **kwargs)
|
18 |
self.token_queue = queue.Queue()
|
19 |
+
self.prompt_shown = not self.skip_prompt
|
20 |
|
21 |
def put(self, value):
|
|
|
22 |
if isinstance(value, torch.Tensor):
|
23 |
token_ids = value.view(-1).tolist()
|
24 |
elif isinstance(value, list):
|
|
|
27 |
token_ids = [value]
|
28 |
|
29 |
for token_id in token_ids:
|
30 |
+
if self.skip_prompt and not self.prompt_shown:
|
31 |
+
continue # skip prompt tokens
|
32 |
+
|
33 |
token_str = self.tokenizer.decode([token_id], **self.decode_kwargs)
|
34 |
is_special = token_id in self.tokenizer.all_special_ids
|
35 |
self.token_queue.put({
|
|
|
37 |
"token": token_str,
|
38 |
"is_special": is_special
|
39 |
})
|
40 |
+
self.prompt_shown = True
|
41 |
|
42 |
def __iter__(self):
|
43 |
while True:
|