Spaces:
Sleeping
Sleeping
File size: 2,001 Bytes
9a1ab03 d092d11 de53991 9a1ab03 de53991 9a1ab03 031841d 9a1ab03 de53991 9a1ab03 031841d 9a1ab03 031841d 1921336 c89910e 031841d de53991 5e80f43 f276c92 031841d a232b31 f276c92 de53991 031841d 5e80f43 1921336 de53991 1921336 031841d 1921336 031841d 1921336 031841d 1921336 031841d 1921336 031841d 1921336 9a1ab03 de53991 031841d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import copy
import random
import gradio as gr
TEST = """ Test of Time. A Benchmark for Evaluating LLMs on Temporal Reasoning. Large language models (LLMs) have
showcased remarkable reasoning capabilities, yet they remain susceptible to errors, particularly in temporal
reasoning tasks involving complex temporal logic. """
def generate_data_test():
"""Generator to yield words"""
temp = copy.deepcopy(TEST)
l1 = temp.split()
random.shuffle(l1)
temp = " ".join(l1)
for word in temp.split(" "):
yield word + " "
def stream_data(content_list, model):
"""Stream data to three columns"""
outputs = ["" for _ in content_list]
# Use the gen method to handle batch generation
generator = model.streaming(content_list)
while True:
updated = False
try:
id, word = next(
generator
) # Get the next generated word for the corresponding content
outputs[id] += f"{word} "
updated = True
except StopIteration:
break
if updated:
yield tuple(outputs)
def create_interface():
with gr.Blocks() as demo:
with gr.Group():
with gr.Row():
columns = [
gr.Textbox(label=f"Column {i+1}", lines=10) for i in range(3)
]
start_btn = gr.Button("Start Streaming")
def start_streaming():
content_list = [
col.value for col in columns
] # Get input texts from text boxes
for data in stream_data(content_list):
updates = [gr.update(value=data[i]) for i in range(len(columns))]
yield tuple(updates)
start_btn.click(
fn=start_streaming, inputs=[], outputs=columns, show_progress=False
)
return demo
if __name__ == "__main__":
demo = create_interface()
demo.queue()
demo.launch()
|