Spaces:
Running
Running
File size: 1,761 Bytes
c0be431 eb967be c0be431 eb967be c0be431 |
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 |
from dotenv import load_dotenv
from generators import *
import gradio as gr
from utils import async_zip_stream
load_dotenv()
async def handle(system_input: str, user_input: str):
print(system_input, user_input)
buffers = ["", "", "", ""]
async for outputs in async_zip_stream(
generate_gpt2(system_input, user_input),
generate_mistral_7bvo1(system_input, user_input),
generate_llama2(system_input, user_input),
generate_llama3(system_input, user_input),
):
# gpt_output, mistral_output, llama_output, llama2_output, llama3_output, llama4_output = outputs
for i, b in enumerate(buffers):
buffers[i] += str(outputs[i])
yield list(buffers) + ["", ""]
yield list(buffers) + [await generate_openllama(system_input, user_input),
await generate_bloom(system_input, user_input)]
with gr.Blocks() as demo:
system_input = gr.Textbox(label='System Input', value='You are AI assistant', lines=2)
with gr.Row():
gpt = gr.Textbox(label='gpt-2', lines=4, interactive=False)
mistral = gr.Textbox(label='mistral', lines=4, interactive=False)
llama = gr.Textbox(label='openllama', lines=4, interactive=False)
with gr.Row():
llama2 = gr.Textbox(label='llama-2', lines=4, interactive=False)
llama3 = gr.Textbox(label='llama-3', lines=4, interactive=False)
bloom = gr.Textbox(label='bloom', lines=4, interactive=False)
user_input = gr.Textbox(label='User Input', lines=2)
gen_button = gr.Button('Generate')
gen_button.click(
fn=handle,
inputs=[system_input, user_input],
outputs=[gpt, mistral, llama2, llama3, llama, bloom],
)
demo.launch()
|