Skip to main content

Documentation Index

Fetch the complete documentation index at: https://translations.mintlify.app/llms.txt

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

Objects

An Object is versioned, serializable data. Weave automatically versions objects when they change, creating an immutable history. Objects include:
  • Datasets: Collections of examples for evaluation
  • Models: Configurations and parameters for your LLM logic
  • Prompts: Versioned prompt templates
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)

Publishing an object

Weave’s serialization layer saves and versions objects.
import weave
# Initialize tracking to the project 'intro-example'
weave.init('intro-example')
# Save a list, giving it the name 'cat-names'
weave.publish(['felix', 'jimbo', 'billie'], 'cat-names')
Saving an object with a name will create the first version of that object if it doesn’t exist.

Getting an object back

weave.publish returns a Ref. You can call .get() on any Ref to get the object back.You can construct a ref and then fetch the object back.
weave.init('intro-example')
cat_names = weave.ref('cat-names').get()

Deleting an object

To delete a version of an object, call .delete() on the object ref.
weave.init('intro-example')
cat_names_ref = weave.ref('cat-names:v1')
cat_names_ref.delete()
Trying to access a deleted object will result in an error. Resolving an object that has a reference to a deleted object will return a DeletedRef object in place of the deleted object.

Ref styles

A fully qualified Weave object ref URI looks like this:
weave://<entity>/<project>/object/<object_name>:<object_version>
  • entity: wandb entity (username or team)
  • project: wandb project
  • object_name: object name
  • object_version: either a version hash, a string like v0, v1…, or an alias like “:latest”. All objects have the “:latest” alias.
Refs can be constructed with a few different styles
  • weave.ref(<name>): requires weave.init(<project>) to have been called. Refers to the “:latest” version
  • weave.ref(<name>:<version>): requires weave.init(<project>) to have been called.
  • weave.ref(<fully_qualified_ref_uri>): can be constructed without calling weave.init