File size: 3,305 Bytes
4dc3383
5537833
32b66e2
4dc3383
47b18b6
804bbce
 
4dc3383
47b18b6
804bbce
edd524c
 
47b18b6
0e87748
d09c5a0
e8de746
 
 
 
5e405b4
905f7db
 
804bbce
 
edd524c
0e87748
0209bf9
804bbce
5e405b4
905f7db
 
804bbce
 
edd524c
0e87748
0209bf9
 
 
 
 
5e405b4
a035375
0209bf9
 
 
5e405b4
b3d009b
 
804bbce
 
edd524c
0e87748
804bbce
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
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}!"


with gr.Blocks() as demo:
    gr.Markdown('# Asistente de aprendizaje')
    gr.Markdown("## Obtener el texto")
    gr.Markdown(
        "Esta tarea consiste en extraer el contenido de texto de una página web a partir de una URL proporcionada.\nEl texto obtenido puede ser utilizado para aplicar técnicas de procesamiento de lenguaje natural.")
    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("En esta tarea se busca condensar el contenido del texto obtenido en la tarea anterior en un resumen breve y coherente.\nEl resumen puede ser útil para tener una idea general del contenido del texto sin tener que leer todo el contenido.")
    gr.Markdown("Puede obtener 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("Esta tarea implica utilizar técnicas de procesamiento de lenguaje natural para generar preguntas relacionadas con el contenido del texto.\nLas preguntas pueden ayudar a entender mejor el contenido del texto y a identificar los principales temas y conceptos.")
    gr.Markdown(
        "Evalúe su conocimiento respondiendo preguntas generadas a partir de diferentes partes del texto extraído.")
    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("En esta tarea se busca identificar las preguntas del usuario que puedan ser respondidas utilizando el texto obtenido previamente.\nSe utiliza un modelo de procesamiento de lenguaje natural para identificar la respuesta adecuada en el texto y proporcionarla al usuario.")
    gr.Markdown("Haz preguntas sobre el contenido...")
    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()