Davide Fiocco commited on
Commit
46152dd
·
1 Parent(s): c39d485
Files changed (2) hide show
  1. app.py +4 -28
  2. utils.py +25 -0
app.py CHANGED
@@ -4,36 +4,12 @@ from logging import Logger
4
  from logging.handlers import SysLogHandler
5
 
6
  import streamlit as st
7
- import tokenizers
8
- import torch
9
- from transformers import Pipeline, pipeline
10
-
11
- from utils import get_answer, get_context
12
-
13
-
14
- @st.cache(
15
- hash_funcs={
16
- torch.nn.parameter.Parameter: lambda _: None,
17
- tokenizers.Tokenizer: lambda _: None,
18
- tokenizers.AddedToken: lambda _: None,
19
- },
20
- allow_output_mutation=True,
21
- show_spinner=False,
22
- )
23
- def load_engine() -> Pipeline:
24
-
25
- nlp_qa = pipeline(
26
- "question-answering",
27
- model="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
28
- tokenizer="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
29
- )
30
-
31
- return nlp_qa
32
 
 
33
 
34
  if ("syslog" not in st.session_state) and ("logger" not in st.session_state):
35
  syslog = SysLogHandler(
36
- address=(st.secrets["logging_address"], int(st.secrets["logging_port"]))
37
  )
38
  logger = logging.getLogger()
39
  logger.setLevel(logging.INFO)
@@ -46,6 +22,7 @@ with st.spinner(
46
  ):
47
 
48
  engine = load_engine()
 
49
 
50
  st.title("Le risposte alle tue domande personali")
51
 
@@ -53,10 +30,9 @@ input = st.text_input("Scrivi una domanda in italiano e comparirà la risposta!"
53
 
54
  if input:
55
  try:
56
- context = get_context()
57
- st.session_state["logger"].info(input)
58
  answer = get_answer(input, context, engine)
59
  st.subheader(answer)
 
60
  except:
61
 
62
  st.error(
 
4
  from logging.handlers import SysLogHandler
5
 
6
  import streamlit as st
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
+ from utils import get_answer, get_context, load_engine
9
 
10
  if ("syslog" not in st.session_state) and ("logger" not in st.session_state):
11
  syslog = SysLogHandler(
12
+ address=("logs4.papertrailapp.com", 49071)
13
  )
14
  logger = logging.getLogger()
15
  logger.setLevel(logging.INFO)
 
22
  ):
23
 
24
  engine = load_engine()
25
+ context = get_context()
26
 
27
  st.title("Le risposte alle tue domande personali")
28
 
 
30
 
31
  if input:
32
  try:
 
 
33
  answer = get_answer(input, context, engine)
34
  st.subheader(answer)
35
+ st.session_state["logger"].info(f"{input} {answer}")
36
  except:
37
 
38
  st.error(
utils.py CHANGED
@@ -1,5 +1,9 @@
1
  import datetime
2
  import json
 
 
 
 
3
 
4
 
5
  def get_answer(input, context, engine):
@@ -9,6 +13,7 @@ def get_answer(input, context, engine):
9
  return answer["answer"]
10
 
11
 
 
12
  def get_context():
13
 
14
  BIRTHYEAR = 1952
@@ -25,3 +30,23 @@ def get_context():
25
  )
26
 
27
  return context
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import datetime
2
  import json
3
+ import streamlit as st
4
+ import tokenizers
5
+ import torch
6
+ from transformers import Pipeline, pipeline
7
 
8
 
9
  def get_answer(input, context, engine):
 
13
  return answer["answer"]
14
 
15
 
16
+ @st.cache
17
  def get_context():
18
 
19
  BIRTHYEAR = 1952
 
30
  )
31
 
32
  return context
33
+
34
+
35
+ @st.cache(
36
+ hash_funcs={
37
+ torch.nn.parameter.Parameter: lambda _: None,
38
+ tokenizers.Tokenizer: lambda _: None,
39
+ tokenizers.AddedToken: lambda _: None,
40
+ },
41
+ allow_output_mutation=True,
42
+ show_spinner=False,
43
+ )
44
+ def load_engine() -> Pipeline:
45
+
46
+ nlp_qa = pipeline(
47
+ "question-answering",
48
+ model="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
49
+ tokenizer="mrm8488/bert-italian-finedtuned-squadv1-it-alfa",
50
+ )
51
+
52
+ return nlp_qa