Passer au contenu principal

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 les versionne.
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 avec un nom, Weave en crée la première version si cet objet n’existe pas encore.

Récupérer un objet

weave.publish renvoie une Ref. Vous pouvez appeler .get() sur n’importe quelle Ref pour récupérer l’objet.Vous pouvez créer une ref, puis récupérer l’objet.
weave.init("your-team-name/your-project-name")
cat_names = weave.ref('cat-names').get()

Supprimer un objet

Pour supprimer une version d’un objet, appelez .delete() sur la réf. d’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é.

Construction des réf. d’objet

Dans Weave, une URI de réf. d’objet pleinement qualifiée se présente ainsi :
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 hash 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érences de plusieurs façons :
  • 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érence d’objet pleinement qualifiée spécifiée. Ne nécessite pas d’appeler weave.init.