Passer au contenu principal
Cette page explique comment publier, récupérer, supprimer et référencer des objets versionnés dans W&B Weave. Utilisez-la lorsque vous devez suivre des données structurées telles que des jeux de données, des modèles ou des prompts d’un run à l’autre et au fil du temps.

Objets

Un objet désigne des données sérialisables et versionnées. Weave versionne automatiquement les objets à chaque modification et crée un historique immuable. Les objets comprennent :
  • Datasets : collections d’exemples pour l’évaluation
  • Models : configurations et paramètres pour la logique de votre LLM
  • Prompts : modèles de prompt versionnés
dataset = weave.Dataset(
    name="test-cases",
    rows=[
        {"input": "What is 2+2?", "expected": "4"},
        {"input": "What is the capital of France?", "expected": "Paris"},
    ]
)
weave.publish(dataset)

Publier un objet

La couche de sérialisation de Weave enregistre les objets et en gère les versions.
import weave
weave.init("your-team-name/your-project-name")
# Enregistrer une liste sous le nom 'cat-names'
weave.publish(['felix', 'jimbo', 'billie'], 'cat-names')
Lorsque vous enregistrez un objet sous un nom, Weave en crée la première version s’il n’existe pas encore.

Récupérer un objet

Après publication, vous pouvez récupérer un objet stocké à l’aide de sa référence.
weave.publish() renvoie une réf. Vous pouvez appeler .get() sur n’importe quelle réf. pour récupérer l’objet.Vous pouvez créer une réf., puis récupérer l’objet.
weave.init("your-team-name/your-project-name")
cat_names = weave.ref('cat-names').get()

Supprimer un objet

Si vous n’avez plus besoin d’une version spécifique d’un objet, vous pouvez la supprimer à l’aide de sa réf.
Pour supprimer une version d’un objet, appelez .delete() sur la réf. de l’objet.
weave.init("your-team-name/your-project-name")
cat_names_ref = weave.ref('cat-names:v1')
cat_names_ref.delete()
L’accès à un objet supprimé renvoie une erreur. La résolution d’un objet qui référence un objet supprimé renvoie un DeletedRef à la place de l’objet supprimé.

Construire des réf. d’objet

Les réf. permettent d’identifier de manière unique un objet stocké et sa version. Les sections suivantes décrivent la structure de l’URI et les différentes façons de construire une réf. Dans Weave, une URI de réf. d’objet complète se présente comme suit :
weave:///[YOUR-TEAM-NAME]/[YOUR-PROJECT-NAME]/object/[OBJECT-NAME]:[OBJECT-VERSION]
  • [YOUR-TEAM-NAME] : entité W&B (nom d’utilisateur ou nom d’équipe)
  • [YOUR-PROJECT-NAME] : projet W&B
  • [OBJECT-NAME] : nom de l’objet
  • [OBJECT-VERSION] : soit un hachage de version, une chaîne comme v0 ou v1, soit un alias comme :latest. Tous les objets ont l’alias :latest.
Vous pouvez construire des réf. de plusieurs manières :
  • weave.ref([NAME]) : récupère la version :latest d’un objet. Nécessite d’appeler weave.init(...).
  • weave.ref([NAME]:[VERSION]) : récupère la version spécifiée d’un objet. Nécessite d’appeler weave.init(...).
  • weave.ref([FULLY-QUALIFIED-REF-URI]) : récupère l’objet situé à l’URI de réf. d’objet complète indiquée. Ne nécessite pas d’appeler weave.init().”