Passer au contenu principal
L’API W&B Automations permet de créer et de gérer par programmation des flux de travail automatisés qui réagissent aux événements de votre pipeline ML. Configurez des actions pour qu’elles se déclenchent lorsque des conditions spécifiques sont remplies, comme des seuils de performance du modèle ou la création d’un artifact.

Classes principales

ClasseDescription
AutomationReprésente une instance d’automatisation enregistrée avec sa configuration.
NewAutomationClasse utilitaire permettant de créer de nouvelles automatisations.

Événements (Déclencheurs)

ÉvénementDescription
OnRunMetricSe déclenche lorsqu’une métrique de run satisfait une condition définie (seuil, variation, etc.).
OnCreateArtifactSe déclenche lorsqu’un nouvel artifact est créé dans une collection.
OnLinkArtifactSe déclenche lorsqu’un artifact est lié à un registre.
OnAddArtifactAliasSe déclenche lorsqu’un alias est ajouté à un artifact.

Actions

ActionDescription
SendNotificationEnvoyer des notifications via Slack ou d’autres canaux intégrés.
SendWebhookEnvoyer des requêtes webhook HTTP à des services externes.
DoNothingAction factice pour tester les configurations d’automatisation.

Filtres

FiltreDescription
MetricThresholdFilterFiltre les runs en comparant les valeurs des métriques à des seuils.
MetricChangeFilterFiltre les runs en fonction de l’évolution de la valeur d’une métrique au fil du temps.

Cas d’usage courants

Surveillance des performances du modèle

  • Déclencher une alerte lorsque l’accuracy du modèle passe sous un seuil
  • Notifier l’équipe lorsque la perte d’entraînement plafonne
  • Déclencher des pipelines de réentraînement en fonction des métriques de performance

Gestion des Artifacts

  • Envoyer des notifications lorsque de nouvelles versions de modèle sont créées
  • Déclencher des flux de travail de déploiement lorsque des artifacts sont tagués
  • Automatiser les traitements en aval lorsque des jeux de données sont mis à jour

Suivi des expériences

  • Alertes en cas de runs en échec ou plantés
  • Notifications lorsque des expériences de longue durée se terminent
  • Envoi de résumés quotidiens des métriques des expériences

Flux de travail d’intégration

  • Mettre à jour des systèmes de suivi externes via des webhooks
  • Synchroniser le registre de modèles avec des plateformes de déploiement
  • Déclencher des pipelines CI/CD à partir d’événements W&B

Exemple d’utilisation

L’exemple suivant crée une automatisation qui envoie une notification Slack chaque fois qu’une métrique appelée custom-metric dépasse 10. La métrique custom-metric est censée être enregistrée pendant l’entraînement à l’aide de wandb.Run.log({"custom-metric": value }).
import wandb
from wandb.automations import OnRunMetric, RunEvent, SendNotification

api = wandb.Api()

project = api.project("<my-project>", entity="<my-team>")

# Utiliser la première intégration Slack pour l'équipe
slack_hook = next(api.slack_integrations(entity="<my-team>"))

# Créer un événement déclencheur
event = OnRunMetric(
     scope=project,
     filter=RunEvent.metric("custom-metric") > 10,
)

# Créer une action qui répond à l'événement
action = SendNotification.from_integration(slack_hook)

# Créer l'automatisation
automation = api.create_automation(
     event >> action,
     name="my-automation",
     description="Envoyer un message Slack chaque fois que 'custom-metric' dépasse 10.",
)
Pour en savoir plus sur l’utilisation de l’API Automations, consultez le guide Automations.