File size: 2,300 Bytes
9a2d345
be0043c
8e54fd5
 
 
de867e6
 
eda3840
de867e6
 
 
772bcf5
de867e6
8e54fd5
de867e6
532c8ca
de867e6
 
 
 
8e54fd5
91e5e43
8e54fd5
5db96f7
 
 
05ff5c6
de867e6
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
import gradio as gr
from gradio.mix import Parallel
from transformers import pipeline
import torch

question = "¿Cuál es la fórmula más famosa de Einstein?"
context = "En 1905, cuando Albert Einstein era un joven físico desconocido, empleado en la Oficina de Patentes de Berna, publicó su teoría de la relatividad especial. En ella incorporó, en un marco teórico simple fundamentado en postulados físicos sencillos, conceptos y fenómenos estudiados antes por Henri Poincaré y Hendrik Lorentz. Como una consecuencia lógica de esta teoría, dedujo la ecuación de la física más conocida a nivel popular: la equivalencia masa-energía, E=mc². Ese año publicó otros trabajos que sentarían algunas de las bases de la física estadística y de la mecánica cuántica."

qa1 = pipeline("question-answering", model="MarcBrun/ixambert-finetuned-squad")
qa2 = pipeline("question-answering", model="MarcBrun/ixambert-finetuned-squad-eu")
qa3 = pipeline("question-answering", model="MarcBrun/ixambert-finetuned-squad-eu-en")

def answer_question(question, context, pipe):

  if pipe == "qa1":
    answer = qa1(question=question, context=context)
  elif pipe == "qa2":
    answer = qa2(question=question, context=context)
  else:
    answer = qa3(question=question, context=context)
  
  return [answer["answer"], answer["score"]]

iface1 = gr.Interface(fn=answer_question(question=question, context=context, pipe="qa1"))
iface2 = gr.Interface(fn=answer_question(question=question, context=context, pipe="qa2"))
iface3 = gr.Interface(fn=answer_question(pipe="qa3"), inputs=[gr.inputs.Textbox(lines=1, default=question, placeholder="Question Here...", label="Question"),gr.inputs.Textbox(lines=7, default=context, placeholder="Context Here...", label="Context")], outputs=[gr.outputs.Textbox(label="Answer"),gr.outputs.Textbox(label="Score")], capture_session=True, title="Question Answering in English, Spanish and Basque", description="Write or paste a text and a question about something that appears in the text and see if the model can answer correctly. It works best in English, but it has proven itself to also understand Spanish and Basque!\n\nI offer you a default question and answer for qick testing, but feel free to use your own examples.")

Parallel(iface1,iface2, iface3).launch()