File size: 2,740 Bytes
4dc3383
5537833
32b66e2
4dc3383
47b18b6
804bbce
 
4dc3383
47b18b6
8f6eebf
0276393
 
804bbce
d474737
 
fa1b66e
edd524c
 
47b18b6
db2a4d5
d09c5a0
e8de746
 
 
 
5e405b4
905f7db
 
804bbce
 
edd524c
0276393
 
804bbce
5e405b4
905f7db
 
804bbce
 
edd524c
0209bf9
db2a4d5
0209bf9
 
 
5e405b4
a035375
0209bf9
 
 
5e405b4
b3d009b
 
804bbce
 
edd524c
db2a4d5
 
5e405b4
 
804bbce
edd524c
941bfc4
804bbce
 
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
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"<img src='{img_url}' alt='owl-reading-logo' style='width: 300px; height: 300px'/>")

    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()