Pipelines & YAML¶
Pipelines are described as YAML documents (or equivalent dicts via Pipeline.from_config). The schema enforces allowed keys and step shape before anything runs.
Top-level keys¶
| Key | Purpose |
|---|---|
name |
Logical pipeline name (metadata). |
settings |
e.g. device, tracing (boolean). |
metadata |
Optional arbitrary metadata block. |
providers |
Named provider declarations for LLM-backed steps. |
steps |
Ordered list of steps (canonical format). |
components |
Legacy list form; prefer steps for new work. |
Canonical steps item¶
Each step typically includes:
id— Stable identifier for traces and debugging.type— Component type key in the registry (e.g.template_response,generate).provider— Logical provider id when the component needs a backend.config— Component-specific configuration (validated per component).
Example:
name: demo
settings:
tracing: true
steps:
- id: answer
type: template_response
config:
template: "Response: {query}"
Safe loading¶
Configs are loaded with yaml.safe_load only—no arbitrary Python objects from YAML.
Related¶
- Quickstart — minimal runnable file
- Components & providers — how
typeandproviderresolve - CLI reference —
oris validate/oris run