Files
sientia-dataops-model-manager/model_manager/reports/header.html
Bruno Domingues 3fd5ab79fe SIENTIAPDE-1252: Implement artifact generation and MLflow logging for model training results
This commit introduces artifact generation and MLflow logging capabilities to the model training process. It includes the following changes:

- Added methods to generate reports, save data files, and log model parameters, metrics, models, and artifacts to MLflow.
- Implemented error handling for various scenarios, such as missing files, invalid data, and MLflow connection errors.
- Created a new 'header.html' file for report styling and navigation.
- Modified the 'model_repository.py' file to include the new artifact generation and MLflow logging methods.
- Added comprehensive unit tests to ensure the functionality and robustness of the new features.
2025-10-10 17:56:09 -03:00

167 lines
4.1 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
<title>Report</title>
<style>
* {
font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
margin: 0;
padding: 0;
box-sizing: border-box;
}
.logo {
padding-top: 70;
padding-bottom: 70;
position: absolute;
margin-left: -48px;
}
h1 {
color: #fff;
position: absolute;
margin-left: 45%;
}
html,
body {
scroll-behavior: smooth;
}
section {
padding-top: 90px;
width: 100%;
display: fixed;
justify-content: center;
align-items: center;
background-color: rgb(217, 217, 214, 0.7);
}
.material-symbols-outlined {
font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
color: #ffff;
}
/* Tooltip text */
.tooltiptext {
visibility: hidden;
background-color: rgb(0, 30, 96, 0.9);
padding: 10px;
margin-left: -90px;
font-size: 16px;
position: absolute;
top: 85px;
border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
}
/* Show the tooltip text when you mouse over the tooltip container */
.material-symbols-outlined:hover .tooltiptext {
visibility: visible;
}
header {
position: fixed;
top: 0;
width: 100%;
height: 85px;
background: rgb(0, 30, 96, 0.95);
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 50px 0;
}
header nav {
display: absolute;
margin-left: 80%;
gap: 10px;
}
header nav a {
position: relative;
text-decoration: none;
padding: 12px 18px;
color: #fff;
font-weight: 500;
}
header nav a.active {
background-color: #001540;
position: relative;
border-radius: 12px;
}
</style>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"
/>
</head>
<body>
<main>
<header>
<a href="#" class="logo">
<img
src="https://aignosi.blob.core.windows.net/sientia/20231016-Aignosi_Logo_WHITE.png"
width="247"
height="70"
/>
</a>
<h1>Report</h1>
<nav>
<a href="#data_quality" class="active"> Summary </a>
<a href="#data_drift"> Drift </a>
<a href="#regression"> Regression </a>
</nav>
<div class="material-symbols-outlined">
info
<p class="tooltiptext">
Note that "current" <br />
is related to the test <br />
set while "reference" <br />
refers to the training <br />
set
</p>
</div>
</header>
<div class="quality_div">
<section id="data_quality"></section>
</div>
<div class="data_drift_div">
<section id="data_drift"></section>
</div>
<div class="regression_div">
<section id="regression"></section>
</div>
</main>
<script>
let sec = document.querySelectorAll("section");
let links = document.querySelectorAll("nav a");
window.onscroll = () => {
sec.forEach((section) => {
let top = window.scrollY;
let offset = section.offsetTop;
let height = section.offsetHeight;
let id = section.getAttribute("id");
if (top >= offset && top < offset + height) {
links.forEach((link) => {
link.classList.remove("active");
document.querySelector("nav a[href*=" + id + "]").classList.add("active");
});
}
});
};
</script>
</body>
</html>