Trellis is an open-source framework for programmatically orchestrating LLM workflows as Directed Acyclic Graphs (DAGs) in Python. We’ve intentionally designed it to give developers as much control as possible, and we’ve written documentation to make it incredibly easy to get started.

Trellis is composed of only three abstractions: Node, DAG, and LLM.

  • Node: the atomic unit of Trellis. Nodes are chained together to form a DAG. Node is an abstract class with only one method required to implement.
  • DAG: a directed acyclic graph of Nodes. It is the primary abstraction for orchestrating LLM workflows. When you add edges between Nodes, you can specify a transformation function to reuse Nodes and connect any two Nodes. Trellis verifies the data flowing between Nodes in a DAG to ensure the flow of data is validated.
  • LLM: a wrapper around a large language model with simple catches for common OpenAI errors. Currently, the only provider that Trellis supports is OpenAI.