Passer au contenu principal
Ce tutoriel vous montre comment créer une automatisation de registre déclenchée par les métadonnées d’un artefact : lorsqu’un artefact de votre registre reçoit un alias spécifique (par exemple, production), W&B envoie une requête POST à votre webhook. Utilisez ce modèle pour notifier des systèmes en aval tels que des pipelines de déploiement, des services d’astreinte ou des canaux de notification chaque fois que vous faites passer un modèle à une étape prédéfinie. Ce tutoriel s’adresse aux ingénieurs ML et aux praticiens MLOps qui gèrent le cycle de vie des modèles dans W&B Registry.


Pour savoir comment créer une automatisation de projet, voir Tutoriel : automatisation d’alerte en cas d’échec d’un run de projet.

Prérequis

  • Un webhook configuré dans Team Settings.
  • Un registre W&B avec au moins une collection, ou réutilisez un registre existant.

Créer une automatisation du registre

Configurez une automatisation au niveau du registre afin que, lorsqu’un artefact d’une collection de ce registre reçoit un alias spécifique (par exemple, production), W&B envoie une requête POST à votre webhook.
  1. Ouvrez le registre et cliquez sur l’onglet Automations, puis sur Create automation.
  2. Choisissez l’événement An artifact alias is added. Saisissez une Alias regex correspondant à l’alias qui vous intéresse (par exemple, production ou staging).
  3. Cliquez sur Next step. Définissez Action type sur Webhooks et sélectionnez votre webhook. Si le webhook attend une charge utile, collez un corps JSON et utilisez des variables de charge utile telles que ${artifact_collection_name} et ${artifact_version_string}.
  4. Cliquez sur Next step. Donnez un nom à l’automatisation et, éventuellement, une description, puis cliquez sur Create automation.
Pour plus d’informations, voir Créer une automatisation webhook (onglet registre).

Tester l’automatisation

Pour vérifier que l’automatisation se déclenche de bout en bout, déclenchez l’événement configuré en ajoutant l’alias à une version d’artefact. Ajoutez l’alias (par exemple, production) à une version d’artefact dans le registre, à l’aide de W&B App ou de l’API publique. Par exemple :
import wandb

with wandb.init(project="my-project") as run:
    artifact = wandb.Artifact("my-model", type="model")
    # ... enregistrer des fichiers ou des métadonnées dans l'artifact selon les besoins ...
    run.log_artifact(artifact)
    run.wait()  # S'assurer que l'artifact est enregistré avant de continuer

# Ajouter un alias à la dernière version de la collection
api = wandb.Api()
collection = api.artifact_collection(name="my-model", type_name="model")
version = next(collection.versions())  # Obtenir la dernière version

version.aliases.append("production")
version.save()
print("Added alias 'production' to", version.name)

Dans quelques instants, votre point de terminaison webhook reçoit une requête POST avec la charge utile que vous avez configurée. Vous disposez maintenant d’une automatisation du registre fonctionnelle qui se déclenche chaque fois qu’un alias correspondant est appliqué à un artefact dans ce registre.

Aller plus loin

Pour en savoir plus sur les automatisations W&B au-delà de ce que couvre ce tutoriel, voir les ressources suivantes :