raylim Claude Sonnet 4.5 commited on
Commit
d1e1666
·
unverified ·
1 Parent(s): a20ae90

Add better logging for background Paladin model downloads

Browse files

- Add emoji indicators for download progress visibility
- Set _model_download_complete flag when download finishes
- Add early return if download already started
- Add traceback on errors for debugging
- Improved logging messages throughout download pipeline

Background download works correctly - completes quickly when cached.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Files changed (2) hide show
  1. src/mosaic/gradio_app.py +3 -3
  2. src/mosaic/ui/app.py +16 -10
src/mosaic/gradio_app.py CHANGED
@@ -103,14 +103,14 @@ def download_paladin_models():
103
 
104
  Lower priority models downloaded after core models.
105
  """
106
- logger.info("Downloading all Paladin models...")
107
- snapshot_download(
108
  repo_id="PDM-Group/paladin-aeon-models",
109
  allow_patterns=[
110
  "*.pkl", # All Paladin model files
111
  ],
112
  )
113
- logger.info(" Paladin models downloaded successfully")
114
 
115
 
116
  def download_and_process_models():
 
103
 
104
  Lower priority models downloaded after core models.
105
  """
106
+ logger.info("📦 Downloading all Paladin models...")
107
+ cache_dir = snapshot_download(
108
  repo_id="PDM-Group/paladin-aeon-models",
109
  allow_patterns=[
110
  "*.pkl", # All Paladin model files
111
  ],
112
  )
113
+ logger.info(f" Paladin models downloaded successfully to: {cache_dir}")
114
 
115
 
116
  def download_and_process_models():
src/mosaic/ui/app.py CHANGED
@@ -58,21 +58,27 @@ def start_background_model_download():
58
  """
59
  global _model_download_thread, _model_download_complete
60
 
 
 
 
 
61
  def download_worker():
62
  try:
63
  from mosaic.gradio_app import download_paladin_models
64
- logger.info("Starting background download of Paladin models...")
65
  download_paladin_models()
66
- logger.info("Background Paladin model download complete")
 
 
67
  except Exception as e:
68
- logger.error(f"Error during background Paladin model download: {e}")
69
- raise
70
-
71
- if _model_download_thread is None:
72
- import threading
73
- _model_download_thread = threading.Thread(target=download_worker, daemon=True)
74
- _model_download_thread.start()
75
- logger.info("Paladin model download started in background thread")
76
 
77
 
78
  def analyze_slides(
 
58
  """
59
  global _model_download_thread, _model_download_complete
60
 
61
+ if _model_download_thread is not None:
62
+ logger.info("Background model download already started, skipping")
63
+ return
64
+
65
  def download_worker():
66
  try:
67
  from mosaic.gradio_app import download_paladin_models
68
+ logger.info("🔄 Starting background download of Paladin models...")
69
  download_paladin_models()
70
+ global _model_download_complete
71
+ _model_download_complete = True
72
+ logger.info("✅ Background Paladin model download complete")
73
  except Exception as e:
74
+ logger.error(f"Error during background Paladin model download: {e}")
75
+ import traceback
76
+ traceback.print_exc()
77
+
78
+ import threading
79
+ _model_download_thread = threading.Thread(target=download_worker, daemon=True)
80
+ _model_download_thread.start()
81
+ logger.info("🚀 Paladin model download started in background thread")
82
 
83
 
84
  def analyze_slides(