Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -118,14 +118,14 @@ with gr.Blocks() as demo:
|
|
118 |
prefix = history[-1]["content"]
|
119 |
history.append({"role": "assistant", "content": ""})
|
120 |
history[-1]["content"] += "Generating with the given prefix...\n"
|
121 |
-
queue = Queue()
|
122 |
class MyStreamer:
|
123 |
def put(self, tokens):
|
124 |
for token in tokens.flatten():
|
125 |
text = pipe.tokenizer.decode(token.item())
|
126 |
if text == '<|begin_of_text|>':
|
127 |
continue
|
128 |
-
queue.put(text)
|
129 |
def end(self):
|
130 |
queue.put(None)
|
131 |
def background_fn():
|
@@ -140,7 +140,11 @@ with gr.Blocks() as demo:
|
|
140 |
print()
|
141 |
Thread(target=background_fn).start()
|
142 |
while True:
|
143 |
-
|
|
|
|
|
|
|
|
|
144 |
if text is None:
|
145 |
break
|
146 |
history[-1]["content"] += text
|
|
|
118 |
prefix = history[-1]["content"]
|
119 |
history.append({"role": "assistant", "content": ""})
|
120 |
history[-1]["content"] += "Generating with the given prefix...\n"
|
121 |
+
queue = Queue(maxsize=10)
|
122 |
class MyStreamer:
|
123 |
def put(self, tokens):
|
124 |
for token in tokens.flatten():
|
125 |
text = pipe.tokenizer.decode(token.item())
|
126 |
if text == '<|begin_of_text|>':
|
127 |
continue
|
128 |
+
queue.put(text, block=True, timeout=5)
|
129 |
def end(self):
|
130 |
queue.put(None)
|
131 |
def background_fn():
|
|
|
140 |
print()
|
141 |
Thread(target=background_fn).start()
|
142 |
while True:
|
143 |
+
try:
|
144 |
+
text = queue.get()
|
145 |
+
except queue.Full:
|
146 |
+
print("Queue is full. Exiting.")
|
147 |
+
break
|
148 |
if text is None:
|
149 |
break
|
150 |
history[-1]["content"] += text
|