sonIA / app.py
Davide Fiocco
Update context and tests
4115668
raw
history blame
1.18 kB
import json
import streamlit as st
import tokenizers
import torch
from transformers import Pipeline, pipeline
from utils import get_answer
@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()
with open("context.json") as f:
context = json.load(f)
st.title("Le risposte alle tue domande personali")
input = st.text_input("Scrivi una domanda e comparirà la risposta!")
if input:
try:
answer = get_answer(input, context["info"], engine)
st.subheader(answer)
except:
st.error(
"Qualcosa é andato storto. Prova di nuovo con un'altra domanda magari!"
)