import gradio as gr
import pip
pip.main(['install', 'transformers'])
pip.main(['install', 'torch']) 
from transformers import pipeline

model_name_or_path = "dgnk007/crow"

def generate_response(message):
    prompt_template=f"### instruct: {message} \n ### Bot:"
    generate=pipeline('text-generation',model=model_name_or_path)
    response=generate(prompt_template,max_length=1024,return_full_text=False,num_return_sequences=2)
    return response[0]['generated_text'], response[1]['generated_text']

with gr.Blocks(theme=gr.themes.Soft()) as block:
    with gr.Row():
        with gr.Column():
            input_box = gr.Textbox(label="Enter your text here:", min_width=600)
            prompt = gr.Button("Submit", variant="primary")
    with gr.Row():
        gr.Examples(['what is google?','what is youtube?'], input_box,)
    with gr.Row():
        output_block = [
            gr.Textbox(label="Response 1", interactive=False),
            gr.Textbox(label="Response 2", interactive=False)
        ]
    with gr.Row():
        gr.Button(value="Tie")
        gr.Button(value="Response 1 Wins",variant='primary')
        gr.Button(value="Response 2 Wins",variant='primary')
        gr.Button(value="Both are Bad",variant='secondary')
    prompt.click(fn=generate_response, inputs=input_box, outputs=output_block)

block.launch()