Ops
An Op is a versioned, tracked function. When you decorate a function with@weave.op() (Python) or wrap it with weave.op() (TypeScript), Weave automatically captures its code, inputs, outputs, and execution metadata.
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
Calls
A Call is a logged execution of an Op. Every time an Op runs, Weave creates a Call that captures:- Input arguments
- Output value
- Timing and latency
- Parent-child relationships (for nested calls)
- Any errors that occurred
Models
A Weave Model is a combination of configuration options and code that defines how you want to use an LLM, such as its name, prompts, temperature, and API settings. You can use models to track and version your application’s parameters and behavior. Using theweave.Model class, you can create templates of the attributes, logic, and parameters you want to track for your models. For example, the following model uses OpenAI to generate a response to a prompt:
The
weave.Model class is not currently supported by the Weave TypeScript SDK.