import gradio as gr from functions import extract_text, summarize_text, generate_question, get_answer_context, answer_question def update(name='default text'): return f"Welcome to Gradio, {name}!" img_url = 'https://huggingface.co/spaces/hackathon-somos-nlp-2023/learning-assistance/resolve/main/assets/owl-reading-2.png' with gr.Blocks() as demo: gr.HTML( value=f"owl-reading-logo") gr.Markdown('# Asistente de aprendizaje') gr.Markdown("## Obtener el texto") gr.Markdown( "En esta sección puede proporcionar una URL la cual será revisada para extraer su contenido.") with gr.Column(): with gr.Row(): inp_url = gr.Textbox(placeholder="URL", show_label=False) btn_extract_text = gr.Button("Extraer texto") out_url_text = gr.Textbox(label="Texto extraído") btn_extract_text.click( fn=extract_text, inputs=inp_url, outputs=out_url_text) # Summary section gr.Markdown("## Elaborar resumen") gr.Markdown( "Utilice esta función para generar un resumen del texto extraído.") btn_summarize = gr.Button("Elaborar resumen") out_summary = gr.Textbox(label="Resumen") btn_summarize.click(fn=summarize_text, inputs=out_url_text, outputs=out_summary) # Question generation section gr.Markdown("## Evalúa tu conocimiento") gr.Markdown( "Mejore su comprensión del texto extraído respondiendo a preguntas generadas a partir de diferentes secciones del mismo.") with gr.Row(): with gr.Column(): btn_question_gen = gr.Button("Pregúntame algo sobre el contenido") out_question_gen = gr.Textbox(show_label=False) btn_question_gen.click(fn=generate_question, inputs=out_url_text, outputs=out_question_gen) with gr.Column(): btn_question_gen = gr.Button("Muestra contexto de la respuesta") out_question_answer = gr.Textbox(show_label=False) btn_question_gen.click(fn=get_answer_context, outputs=out_question_answer) # Question and answering gr.Markdown("## Pregunta sobre el texto") gr.Markdown( "Esta sección está diseñada para que puedas hacer preguntas relacionadas con el contenido del texto extraído") inp_qna = gr.Textbox(placeholder="Escriba su pregunta aquí", show_label=False) btn_qna = gr.Button("Responder") out_qna = gr.Textbox(show_label=False) btn_qna.click(fn=answer_question, inputs=inp_qna, outputs=out_qna) demo.launch()