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.

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.3.tar.gz (15.6 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.3-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: trellis_dag-0.1.3.tar.gz
  • Upload date:
  • Size: 15.6 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.3.tar.gz
Algorithm Hash digest
SHA256 e0df59af2e7ad52153add9073ad52ad9e596a4715cc1ca0c54a3863bf578f2de
MD5 53c50bfb7f196c76efc4b211e1d50fa4
BLAKE2b-256 0de96f9e41ec58bc3949487f9b1101dca47d2b7f5571da80b0a56fafe694035a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: trellis_dag-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 64f1f221a991983a822f68bd22e3df7372549f84cd0f6775941542d0b5979ea9
MD5 249d43b78e976ac6f1de570bbd2a8b9b
BLAKE2b-256 457a83918b9ad513eff39c765e4cd2d5a1e93149307494ad10e9b8b2703798b7

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