feat: implement unified configuration loading and logging setup across entry points

This commit is contained in:
2025-08-06 22:17:02 +02:00
parent d7aa24a935
commit 9338d6eab8
11 changed files with 263 additions and 128 deletions
+27 -10
View File
@@ -1,26 +1,43 @@
#!.venv/bin/python3
import argparse
import sys
from core.config import setup_logging, get_config
from core.config import setup_config_and_logging
from research.model_trainer import ModelTrainer
def main():
setup_logging(get_config())
parser = argparse.ArgumentParser(description="Train DRC Names Models")
parser.add_argument("--config", type=str, help="Path to configuration file")
parser.add_argument(
"--env", type=str, default="development",
help="Environment name (default: development)"
)
parser.add_argument("--type", type=str, help="Specific model type to train")
parser.add_argument("--name", type=str, help="Model name")
args = parser.parse_args()
trainer = ModelTrainer()
# Train specific model
trainer.train_single_model(
model_name=args.name,
model_type=args.type,
features=["full_name"]
)
try:
# Load configuration and setup logging
config = setup_config_and_logging(config_path=args.config, env=args.env)
trainer = ModelTrainer()
# Train specific model
trainer.train_single_model(
model_name=args.name,
model_type=args.type,
features=["full_name"]
)
return 0
except Exception as e:
print(f"Training failed: {e}")
return 1
if __name__ == "__main__":
main()
exit_code = main()
sys.exit(exit_code)