File size: 891 Bytes
9e6ee24 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from pathlib import Path
from app.database import Base, engine, SessionLocal
from app.repository import list_objects, latest_runs
from app.scripts.seed_synthetic import main as seed_main
from app.scripts.train_baseline import run_training
from app.services import scoring_cycle, demo_objects
def bootstrap_if_needed():
Base.metadata.create_all(bind=engine)
model_path = Path(__file__).resolve().parents[2] / "models" / "baseline_model.joblib"
db = SessionLocal()
try:
has_objects = bool(list_objects(db, 5))
finally:
db.close()
if not has_objects:
seed_main()
if not model_path.exists():
run_training()
db = SessionLocal()
try:
if not latest_runs(db, 1):
scoring_cycle(db, demo_objects(db), source="bootstrap-demo")
finally:
db.close()
if __name__ == "__main__":
bootstrap_if_needed()
|