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