Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.


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

Suivez ces instructions pour configurer une automatisation au niveau du registre : 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 de détails, voir Créer une automatisation webhook (onglet registre).

Tester l’automatisation

Ajoutez l’alias (par exemple, production) à une version d’artefact dans le registre, à l’aide de l’application W&B 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 devrait recevoir une requête POST avec la charge utile que vous avez configurée.

Go further