Skip to main content

DAG-based LLM execution framework.

Project description

Trellis

Intro

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. Start building with our docs.

Structure

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.

Environment Variables

  • If you're going to use the LLM class, set:
    • OPENAI_API_KEY=YOUR_OPENAI_KEY
  • If you don't want us to send telemetry data (in the Node._init_(), LLM.execute() (including prompts and responses from OpenAI) and DAG.execute() methods, info about nodes you create or dags you run), to an external server (currently (PostHog)[https://posthog.com/]) for analysis, set:
    • TRELLIS_DISABLE_TELEMETRY=1
  • If you want to reduce the amount of information the logger returns, set:
    • [for everything] TRELLIS_LOG_LEVEL=DEBUG
    • [for status updates] TRELLIS_LOG_LEVEL=INFO
    • [for only warnings] TRELLIS_LOG_LEVEL=WARNING
    • [for errors which stop runtime] TRELLIS_LOG_LEVEL=ERROR
    • [for only critical errors] TRELLIS_LOG_LEVEL=CRITICAL

Install

You can install Trellis with any of the following methods:

Pip

pip install trellis-dag

Poetry

poetry add trellis-dag

Conda

conda install trellis-dag

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trellis_dag-0.1.5.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trellis_dag-0.1.5-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file trellis_dag-0.1.5.tar.gz.

File metadata

  • Download URL: trellis_dag-0.1.5.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.5.0

File hashes

Hashes for trellis_dag-0.1.5.tar.gz
Algorithm Hash digest
SHA256 670ad9ce0a15b5c4bff3c783ec83cfedabb06628eabc5a71b0ba63aff97d5f6c
MD5 0d61c13c81da1630d9e2c915da03202d
BLAKE2b-256 c15f71dd4960d6e11fcdc76ece3c7daf7710849d596fa96fa0389156f0e76147

See more details on using hashes here.

File details

Details for the file trellis_dag-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: trellis_dag-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.5.0

File hashes

Hashes for trellis_dag-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 828e5a222a4970ff32db27f7bd95f1408290ab0ee6429ae82a1c3a5dd859fa11
MD5 0b4c438751f4c3583b1347ab562cd0d4
BLAKE2b-256 5b4a049c5340a5641c7172144e61af3ef1615494080e7c06a8abc8c50b2281f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page