Objects
An Object is versioned, serializable data. Weave automatically versions objects when they change and creates an immutable history. Objects include:- Datasets: Collections of examples for evaluation
- Models: Configurations and parameters for your LLM logic
- Prompts: Versioned prompt templates
Publish an object
Weave’s serialization layer saves and versions objects.- Python
- TypeScript
Get an object back
After publishing, you can fetch a stored object using its reference.- Python
- TypeScript
weave.publish() returns a Ref. Call .get() on any Ref to get the object back.You can construct a ref and then fetch the object back.Delete an object
If you no longer need a specific version of an object, you can remove it using its ref.- Python
- TypeScript
To delete a version of an object, call Accessing a deleted object returns an error. Resolving an object that references a deleted object returns a
.delete() on the object’s ref.DeletedRef in place of the deleted object.Construct object refs
Refs uniquely identify a stored object and version. The following sections describe the URI structure and the ways you can construct a ref. In Weave, a fully qualified object ref URI looks like this:[YOUR-TEAM-NAME]: W&B entity (username or team name)[YOUR-PROJECT-NAME]: W&B project[OBJECT-NAME]: object name[OBJECT-VERSION]: either a version hash, a string likev0orv1, or an alias like:latest. All objects have the:latestalias. See Organize object versions with tags and aliases to create your own aliases.
weave.ref([NAME]): retrieves the:latestversion of an object. Requires callingweave.init(...).weave.ref([NAME]:[VERSION]): retrieves the specified version of an object. Requires callingweave.init(...).weave.ref([FULLY-QUALIFIED-REF-URI]): retrieves the object located at the specified fully qualified object ref URI. Doesn’t require callingweave.init().
Organize object versions with tags and aliases
Use tags and aliases to label specific versions of any Weave object, includingDataset, Model, Prompt, or any other object you publish with weave.publish. These labels work on any ObjectRef, so the same APIs apply across object types.
- Alias: A unique name that resolves to a single version. You can move an alias to a different version at any time, making it useful for stable references like
productionorstaging. Every object automatically has a:latestalias that points to the most recent version. - Tag: A descriptive label attached to a version. A version can have multiple tags, and the same tag can appear on multiple versions. Use tags to categorize and filter versions, such as
reviewedorpassed-eval.