Spaces:
Runtime error
Runtime error
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)
|