
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
ai-management
Advanced tools
This is a toolbox to help AI & ML teams to have a better management of their metrics.
This is a toolbox to help AI & ML teams to have a better management of their metrics and processes.
Our desire is to enable the company with data related to AI solution, in a easy way to read and use. Some new goals are going to be included later
Describe the structure of the project folder, including the organization of modules, directories, and any important files.
ai_management/
├── __init__.py
├── model_evaluation.py
├── config.yaml
Explain the purpose of each module or significant files.
Historize the technical model evaluation results at a Google Big Query table at a Google Cloud Platform project.
pip install ai-management
y_true = [1, 0, 0, 1, 1]
y_pred = [1, 0, 0, 0, 1]
y_test_a_lst = y_true
y_pred_a_lst = y_pred
y_test_a_arr = np.array(y_true)
y_pred_a_arr = np.array(y_pred)
y_true = [0, 1, 2, 1, 2]
y_pred = [[0.9, 0.1, 0.0], [0.3, 0.2, 0.5], [0.2, 0.3, 0.5], [0.1, 0.8, 0.1], [0.1, 0.2, 0.7]]
y_test_b_lst = y_true
y_pred_b_lst = y_pred
y_test_b_arr = np.array(y_true)
y_pred_b_arr = np.array(y_pred)
y_test = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
y_pred = [[0, 1, 2], [3, 4, 5], [6, 7, 9]]
y_test_c_lst = y_test
y_pred_c_lst = y_pred
y_test_c_arr = np.array(y_true)
y_pred_c_arr = np.array(y_pred)
y_true = [2.5, 3.0, 4.0, 5.5, 6.0]
y_pred = [2.0, 3.5, 3.8, 5.0, 6.5]
y_test_d_lst = y_true
y_pred_d_lst = y_pred
y_test_d_arr = np.array(y_true)
y_pred_d_arr = np.array(y_pred)
import pandas as pd
import numpy as np
# Create a dataframe with random values
df_assossiation = pd.DataFrame({
'ID_PRNCPAL': np.random.randint(1, 50000, size=103846),
'CONFIDENCE': np.random.uniform(0.01, 0.03, size=103846)
})
df_assossiation.sort_values('ID_PRNCPAL')
import ai_management as aim
client_bq = bigquery.Client(project='project')
me = aim.ModelEvaluation(
client_bq=client_bq,
destination='project.dataset.table'
)
# Historizing standard metrics
me.historize_model_evaluation(
soltn_nm = 'Solution X',
lst_mdls = [
{
'mdl_nm' : 'Model A',
'algrthm_typ' : 'binary_classification',
'data' : [y_test_a_lst, y_pred_a_lst]},
{
'mdl_nm' : 'Model B',
'algrthm_typ' : 'multi_class_classification',
'data' : [y_test_b_lst, y_pred_b_lst]},
{
'mdl_nm' : 'Model C',
'algrthm_typ' : 'multi_label_classification',
'data' : [y_test_c_lst, y_pred_c_lst]},
{
'mdl_nm' : 'Model D',
'algrthm_typ' : 'assossiation',
'data' : ['confidence', df_assossiation]},
]
)
# Historizing custom metrics
me.historize_custom_metric(
soltn_nm = "Solution Y",
lst_mdls = [
{
'mdl_nm': 'Model E',
'algrthm_typ': 'regression',
'data': [
["Lin's Concordance Correlation Coefficient", 0.85, None],
["Huber's error", 123, {"delta": 0.75}],
]
},
]
)
FAQs
This is a toolbox to help AI & ML teams to have a better management of their metrics.
We found that ai-management demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.