This is a node
Also known as a Workflow Object, or WOB for short.Nodes are connected by Edges
A transmitter can be connected to multiple receivers, but a receiver can only be connected to one transmitter.Edges move data between nodes
Edges move data from transmitters to receivers. Nodes are ran sequentially depth-first.Edges care about types
Transmitters and receivers can have different types. Edges can only connect transmitters and receivers of the same type. Each type has a different color.- value - individual values, such as strings, numbers, and vectors.
- data - collections of values, such as tables, datasets, and tensors.
- state - JSON objects and classes, such as LLM messages and HTTP requests.
- model - functions/functors that can be called by nodes later
Receivers can have controls
Controls are configurable input and display elements for nodes. They can be added onto receivers using thecontrol argument. If an edge is connected to a receiver with a control, the control will disappear and the value will be taken from the edge instead.
Read more about controls.
Fields let nodes run in loops
They are defined by a pair of receivers and transmitters that are both marked asis_field=True. Visually, you can tell that a transmitter or receiver is a field transmitter/receiver by their pointier shape. Nodes within a field are continously run until the field transmitter runs out of values to transmit.
Read more about fields.