AurelioAguirre commited on
Commit
8f95297
·
1 Parent(s): 9b61f35

Added Progressbar, REPLACED stream to logger

Browse files
Files changed (2) hide show
  1. main/api.py +3 -2
  2. main/utils/logging.py +33 -0
main/api.py CHANGED
@@ -58,11 +58,12 @@ class LLMApi:
58
  model_path = self.models_path / model_name.split('/')[-1]
59
 
60
  # Download and save model
61
- self.logger.info(f"Downloading model: {model_name}")
62
  model = AutoModelForCausalLM.from_pretrained(model_name, progress_bar=True)
63
 
64
- self.logger.info(f"Downloading tokenizer for model: {model_name}")
65
  tokenizer = AutoTokenizer.from_pretrained(model_name, progress_bar=True)
 
66
 
67
  self.logger.info(f"Saving model to {model_path}")
68
  model.save_pretrained(model_path)
 
58
  model_path = self.models_path / model_name.split('/')[-1]
59
 
60
  # Download and save model
61
+ self.logger.enable_stream_to_logger()
62
  model = AutoModelForCausalLM.from_pretrained(model_name, progress_bar=True)
63
 
64
+ # Download and save tokenizer
65
  tokenizer = AutoTokenizer.from_pretrained(model_name, progress_bar=True)
66
+ self.logger.disable_stream_to_logger()
67
 
68
  self.logger.info(f"Saving model to {model_path}")
69
  model.save_pretrained(model_path)
main/utils/logging.py CHANGED
@@ -1,6 +1,31 @@
1
  import logging
 
2
  from pathlib import Path
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  def setup_logger(config: dict, name: str = None) -> logging.Logger:
5
  """Set up logger with configuration from config file."""
6
  logger = logging.getLogger(name or __name__)
@@ -26,4 +51,12 @@ def setup_logger(config: dict, name: str = None) -> logging.Logger:
26
  logger.addHandler(file_handler)
27
  logger.addHandler(console_handler)
28
 
 
 
 
 
 
 
 
 
29
  return logger
 
1
  import logging
2
+ import sys
3
  from pathlib import Path
4
 
5
+ class StreamToLogger:
6
+ """
7
+ Fake file-like stream object that redirects writes to a logger instance.
8
+ """
9
+ def __init__(self, logger, log_level=logging.INFO):
10
+ self.logger = logger
11
+ self.log_level = log_level
12
+ self.linebuf = ''
13
+ self.enabled = True
14
+
15
+ def write(self, buf):
16
+ if self.enabled:
17
+ for line in buf.rstrip().splitlines():
18
+ self.logger.log(self.log_level, line.rstrip())
19
+
20
+ def flush(self):
21
+ pass
22
+
23
+ def enable(self):
24
+ self.enabled = True
25
+
26
+ def disable(self):
27
+ self.enabled = False
28
+
29
  def setup_logger(config: dict, name: str = None) -> logging.Logger:
30
  """Set up logger with configuration from config file."""
31
  logger = logging.getLogger(name or __name__)
 
51
  logger.addHandler(file_handler)
52
  logger.addHandler(console_handler)
53
 
54
+ # Redirect stdout to logger
55
+ stream_to_logger = StreamToLogger(logger, logging.INFO)
56
+ sys.stdout = stream_to_logger
57
+
58
+ # Add methods to enable/disable StreamToLogger
59
+ logger.enable_stream_to_logger = stream_to_logger.enable
60
+ logger.disable_stream_to_logger = stream_to_logger.disable
61
+
62
  return logger