sonIA / app.py
Davide Fiocco
Add first attempt files
82cdd19
raw
history blame
1.23 kB
import streamlit as st
from transformers import Pipeline, pipeline
import tokenizers
import torch
import json
@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("knowledge.json") as f:
context = json.load(f)
st.title("La macchina che risponde alle tue domande personali")
input = st.text_input("Fai una domanda e comparirà la risposta!")
if input:
try:
answer = engine(
{
'question': input,
'context': context["info"]
}
)
st.subheader(answer["answer"])
except:
st.error("Qualcosa é andato storto. Prova di nuovo con un'altra domanda magari!")