CCockrum commited on
Commit
864044e
·
verified ·
1 Parent(s): 31632ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -27
app.py CHANGED
@@ -454,8 +454,12 @@ if fetch_data:
454
  # --- Suggested Metadata Enhancements Section ---
455
  st.subheader("Suggested Metadata Enhancements")
456
 
457
- # Always show the checkbox
458
- use_ai = st.checkbox("🤖 Use AI Suggestions (Hugging Face)", value=True)
 
 
 
 
459
 
460
  # Check if records exist
461
  incomplete_with_desc = metadata_df[
@@ -463,59 +467,75 @@ incomplete_with_desc = metadata_df[
463
  (metadata_df['subject'].isnull())
464
  ]
465
 
 
 
 
 
 
 
 
 
 
 
466
  if not incomplete_with_desc.empty:
467
  if use_ai:
468
  suggestions = []
469
  records_to_process = min(10, len(incomplete_with_desc))
470
-
471
  progress = st.progress(0)
472
  status = st.empty()
473
-
474
  for i, (idx, row) in enumerate(incomplete_with_desc.iterrows()):
475
  if i >= records_to_process:
476
  break
477
-
478
  title = row['title'] if pd.notna(row['title']) else ""
479
  description = row['description'] if pd.notna(row['description']) else ""
480
-
481
  status.text(f"Analyzing {i+1}/{records_to_process}: {title[:30]}...")
482
-
483
  suggested_subject = get_huggingface_suggestions(title, description)
484
-
485
  if suggested_subject:
486
  suggestions.append((title, suggested_subject))
487
-
488
  progress.progress((i + 1) / records_to_process)
489
-
490
  status.empty()
491
-
 
492
  if suggestions:
493
  suggestions_df = pd.DataFrame(suggestions, columns=["Title", "Suggested Subject"])
494
-
495
- # --- Display inside Dark Card ---
496
  st.markdown("""
497
- <div style='
498
- background-color: #2e2e2e;
499
- padding: 1.5rem;
500
- border-radius: 10px;
501
- margin-top: 1.5rem;
502
- color: lightgray;
503
- '>
 
 
 
 
 
 
 
 
 
 
 
504
  """, unsafe_allow_html=True)
505
-
506
- # --- Use st.table instead of st.dataframe for consistent dark styling ---
507
  st.table(suggestions_df.style
508
- .background_gradient(cmap="Greens", subset=["Suggested Subject"])
 
509
  .hide(axis="index")
 
510
  )
511
-
512
- st.markdown("</div>", unsafe_allow_html=True)
513
-
514
  else:
515
  st.info("No metadata enhancement suggestions available.")
516
-
517
  else:
518
  st.info("Enable AI Suggestions to view recommendations.")
519
  else:
520
  st.success("All records already have subjects or no usable text available.")
521
 
 
 
 
454
  # --- Suggested Metadata Enhancements Section ---
455
  st.subheader("Suggested Metadata Enhancements")
456
 
457
+ # Create a row with checkbox for AI suggestions
458
+ col1, col2 = st.columns([1, 7])
459
+ with col1:
460
+ use_ai = st.checkbox("", value=True)
461
+ with col2:
462
+ st.markdown("🤖 Use AI Suggestions (Hugging Face)")
463
 
464
  # Check if records exist
465
  incomplete_with_desc = metadata_df[
 
467
  (metadata_df['subject'].isnull())
468
  ]
469
 
470
+ # Create a consistent container for the results
471
+ st.markdown("""
472
+ <div style='
473
+ background-color: #1e1e1e;
474
+ border-radius: 10px;
475
+ padding: 1rem;
476
+ margin-top: 1rem;
477
+ '>
478
+ """, unsafe_allow_html=True)
479
+
480
  if not incomplete_with_desc.empty:
481
  if use_ai:
482
  suggestions = []
483
  records_to_process = min(10, len(incomplete_with_desc))
 
484
  progress = st.progress(0)
485
  status = st.empty()
486
+
487
  for i, (idx, row) in enumerate(incomplete_with_desc.iterrows()):
488
  if i >= records_to_process:
489
  break
 
490
  title = row['title'] if pd.notna(row['title']) else ""
491
  description = row['description'] if pd.notna(row['description']) else ""
 
492
  status.text(f"Analyzing {i+1}/{records_to_process}: {title[:30]}...")
 
493
  suggested_subject = get_huggingface_suggestions(title, description)
 
494
  if suggested_subject:
495
  suggestions.append((title, suggested_subject))
 
496
  progress.progress((i + 1) / records_to_process)
497
+
498
  status.empty()
499
+ progress.empty()
500
+
501
  if suggestions:
502
  suggestions_df = pd.DataFrame(suggestions, columns=["Title", "Suggested Subject"])
503
+
504
+ # Apply custom CSS for table styling to match the others
505
  st.markdown("""
506
+ <style>
507
+ table {
508
+ width: 100%;
509
+ border-collapse: collapse;
510
+ color: #e0e0e0;
511
+ }
512
+ thead tr {
513
+ border-bottom: 1px solid #444;
514
+ }
515
+ th, td {
516
+ padding: 12px;
517
+ text-align: left;
518
+ border-bottom: 1px solid #444;
519
+ }
520
+ tr:hover {
521
+ background-color: #2c2c2c;
522
+ }
523
+ </style>
524
  """, unsafe_allow_html=True)
525
+
526
+ # Use st.table for consistent styling
527
  st.table(suggestions_df.style
528
+ .background_gradient(cmap="Greens", subset=["Suggested Subject"], vmin=0, vmax=1)
529
+ .format({"Title": lambda x: x[:50] + "..." if len(x) > 50 else x})
530
  .hide(axis="index")
531
+ .set_properties(**{'text-align': 'left'})
532
  )
 
 
 
533
  else:
534
  st.info("No metadata enhancement suggestions available.")
 
535
  else:
536
  st.info("Enable AI Suggestions to view recommendations.")
537
  else:
538
  st.success("All records already have subjects or no usable text available.")
539
 
540
+ st.markdown("</div>", unsafe_allow_html=True)
541
+