Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -359,6 +359,27 @@ def main():
|
|
| 359 |
st.header("📝 Individual Paper Summaries")
|
| 360 |
|
| 361 |
# Generate summaries if not already done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 362 |
if st.session_state.summaries is not None:
|
| 363 |
col1, col2 = st.columns(2)
|
| 364 |
with col1:
|
|
@@ -380,6 +401,7 @@ def main():
|
|
| 380 |
else:
|
| 381 |
ascending = True # Default for other columns
|
| 382 |
|
|
|
|
| 383 |
# Create display dataframe
|
| 384 |
display_df = df.copy()
|
| 385 |
display_df['Summary'] = st.session_state.summaries
|
|
@@ -391,21 +413,11 @@ def main():
|
|
| 391 |
filtered_df = create_filter_controls(display_df, sort_column)
|
| 392 |
|
| 393 |
# Apply sorting
|
| 394 |
-
if sort_column
|
| 395 |
-
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 396 |
-
elif sort_column == 'Article Title':
|
| 397 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 398 |
else:
|
| 399 |
sorted_df = filtered_df
|
| 400 |
|
| 401 |
-
if sort_column == 'Article Title':
|
| 402 |
-
# Sort alphabetically
|
| 403 |
-
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 404 |
-
else:
|
| 405 |
-
# Keep original order for other columns after filtering
|
| 406 |
-
# Keep original order for other columns after filtering
|
| 407 |
-
sorted_df = filtered_df
|
| 408 |
-
|
| 409 |
# Show number of filtered results
|
| 410 |
if len(sorted_df) != len(display_df):
|
| 411 |
st.write(f"Showing {len(sorted_df)} of {len(display_df)} papers")
|
|
|
|
| 359 |
st.header("📝 Individual Paper Summaries")
|
| 360 |
|
| 361 |
# Generate summaries if not already done
|
| 362 |
+
if st.session_state.summaries is None:
|
| 363 |
+
try:
|
| 364 |
+
with st.spinner("Generating individual paper summaries..."):
|
| 365 |
+
model, tokenizer = load_model("summarize")
|
| 366 |
+
summaries = []
|
| 367 |
+
progress_bar = st.progress(0)
|
| 368 |
+
|
| 369 |
+
for idx, abstract in enumerate(df['Abstract']):
|
| 370 |
+
summary = improve_summary_generation(abstract, model, tokenizer)
|
| 371 |
+
summaries.append(summary)
|
| 372 |
+
progress_bar.progress((idx + 1) / len(df))
|
| 373 |
+
|
| 374 |
+
st.session_state.summaries = summaries
|
| 375 |
+
cleanup_model(model, tokenizer)
|
| 376 |
+
progress_bar.empty()
|
| 377 |
+
|
| 378 |
+
except Exception as e:
|
| 379 |
+
st.error(f"Error generating summaries: {str(e)}")
|
| 380 |
+
st.session_state.processing_started = False
|
| 381 |
+
|
| 382 |
+
# Display summaries if they exist
|
| 383 |
if st.session_state.summaries is not None:
|
| 384 |
col1, col2 = st.columns(2)
|
| 385 |
with col1:
|
|
|
|
| 401 |
else:
|
| 402 |
ascending = True # Default for other columns
|
| 403 |
|
| 404 |
+
# Create display dataframe
|
| 405 |
# Create display dataframe
|
| 406 |
display_df = df.copy()
|
| 407 |
display_df['Summary'] = st.session_state.summaries
|
|
|
|
| 413 |
filtered_df = create_filter_controls(display_df, sort_column)
|
| 414 |
|
| 415 |
# Apply sorting
|
| 416 |
+
if sort_column in ['Times Cited', 'Article Title']:
|
|
|
|
|
|
|
| 417 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
| 418 |
else:
|
| 419 |
sorted_df = filtered_df
|
| 420 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 421 |
# Show number of filtered results
|
| 422 |
if len(sorted_df) != len(display_df):
|
| 423 |
st.write(f"Showing {len(sorted_df)} of {len(display_df)} papers")
|