sonIA / app.py
Davide Fiocco
Make isort/black happy
4bed6fd
raw
history blame
1.17 kB
import json
import streamlit as st
import tokenizers
import torch
from transformers import Pipeline, pipeline
from utils import get_answer, get_context
@st.cache(
hash_funcs={
torch.nn.parameter.Parameter: lambda _: None,
tokenizers.Tokenizer: lambda _: None,
tokenizers.AddedToken: lambda _: None,
},
allow_output_mutation=True,
show_spinner=False,
)
def load_engine() -> Pipeline:
nlp_qa = pipeline(
"question-answering",
model="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
tokenizer="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
)
return nlp_qa
with st.spinner(
text="Sto preparando il necessario per rispondere alle tue domande personali..."
):
engine = load_engine()
st.title("Le risposte alle tue domande personali")
input = st.text_input("Scrivi una domanda in italiano e comparirà la risposta!")
if input:
try:
context = get_context()
answer = get_answer(input, context, engine)
st.subheader(answer)
except:
st.error(
"Qualcosa é andato storto. Prova di nuovo con un'altra domanda magari!"
)