Blocks
Dust Apps are composed of Blocks executed sequentially. Each block has a name, a type, a specification, and a configuration. Blocks can reference the outputs of previously executed blocks using their name. See Core Blocks for the full block reference.Datasets
Datasets are collections of JSON objects used to:- Provide few-shot examples to
llmblocks via prompts - Supply test inputs to
inputblocks during app design
Inputs and outputs
Theinput block is the entry point to a Dust App. It forks execution on each element of its associated dataset during design, and accepts API arguments at runtime.
Every block produces an output accessible to subsequent blocks as env.state.<BLOCK_NAME>.
Running apps
Apps can be run:- In the Dust UI against a dataset for iterative design
- By API by passing arguments to the
inputblock (see the Developer Platform)
Execution model
Blocks execute sequentially. Themap/reduce blocks enable parallel execution over arrays. The while/end blocks enable loops with a termination condition.