Spaces:
Sleeping
Sleeping
Adding data caching and using session state for model caching
Browse files
app.py
CHANGED
@@ -20,15 +20,19 @@ nlp = spacy.load("en_core_web_sm")
|
|
20 |
user_agent = 'QGen/1.0 (channingfisher7@gmail.com)'
|
21 |
wiki_wiki = wikipediaapi.Wikipedia(user_agent= user_agent,language='en')
|
22 |
|
23 |
-
model = None
|
24 |
-
tokenizer = None
|
25 |
def load_model():
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
# Function to extract keywords using combined techniques
|
34 |
def extract_keywords(text):
|
@@ -106,6 +110,9 @@ def export_to_pdf(data):
|
|
106 |
# pdf.output("questions.pdf")
|
107 |
return pdf.output(name='questions.pdf',dest='S').encode('latin1')
|
108 |
|
|
|
|
|
|
|
109 |
# Streamlit interface
|
110 |
st.title(":blue[Question Generator from Text]")
|
111 |
text = st.text_area("Enter text here:", value="Joe Biden, the current US president is on a weak wicket going in for his reelection later this November against former President Donald Trump.")
|
@@ -137,9 +144,12 @@ if st.button("Generate Questions"):
|
|
137 |
st.write(f"**Entity Link:** {linked_entity}")
|
138 |
st.write("---")
|
139 |
data.append((context, keyword, question))
|
|
|
|
|
|
|
140 |
|
141 |
# Export buttons
|
142 |
-
if data is not None:
|
143 |
with st.sidebar:
|
144 |
st.subheader('Download Content')
|
145 |
csv_data = export_to_csv(data)
|
|
|
20 |
user_agent = 'QGen/1.0 (channingfisher7@gmail.com)'
|
21 |
wiki_wiki = wikipediaapi.Wikipedia(user_agent= user_agent,language='en')
|
22 |
|
|
|
|
|
23 |
def load_model():
|
24 |
+
model_name = "DevBM/t5-large-squad"
|
25 |
+
model = T5ForConditionalGeneration.from_pretrained(model_name)
|
26 |
+
tokenizer = T5Tokenizer.from_pretrained(model_name)
|
27 |
+
return model, tokenizer
|
28 |
+
|
29 |
+
# Initialize session state for model and tokenizer
|
30 |
+
if 'model' not in st.session_state:
|
31 |
+
st.session_state.model, st.session_state.tokenizer = load_model()
|
32 |
+
|
33 |
+
# Use the model and tokenizer from session state
|
34 |
+
model = st.session_state.model
|
35 |
+
tokenizer = st.session_state.tokenizer
|
36 |
|
37 |
# Function to extract keywords using combined techniques
|
38 |
def extract_keywords(text):
|
|
|
110 |
# pdf.output("questions.pdf")
|
111 |
return pdf.output(name='questions.pdf',dest='S').encode('latin1')
|
112 |
|
113 |
+
if 'data' not in st.session_state:
|
114 |
+
st.session_state.data = None
|
115 |
+
|
116 |
# Streamlit interface
|
117 |
st.title(":blue[Question Generator from Text]")
|
118 |
text = st.text_area("Enter text here:", value="Joe Biden, the current US president is on a weak wicket going in for his reelection later this November against former President Donald Trump.")
|
|
|
144 |
st.write(f"**Entity Link:** {linked_entity}")
|
145 |
st.write("---")
|
146 |
data.append((context, keyword, question))
|
147 |
+
|
148 |
+
# Add the data to session state
|
149 |
+
st.session_state.data = data
|
150 |
|
151 |
# Export buttons
|
152 |
+
if st.session_state.data is not None:
|
153 |
with st.sidebar:
|
154 |
st.subheader('Download Content')
|
155 |
csv_data = export_to_csv(data)
|