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.4.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.4-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: trellis_dag-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 9015872933134c27f0d72abb512ddccb1ecff08e5719c56890f3449dd2f0596b
MD5 5679dc24886ddcc205992f118841f47a
BLAKE2b-256 0a995ea07f7cd6c2b192d3f5c69605d3ed09b12b45c6435ae3113ec0cd728976

See more details on using hashes here.

File details

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

File metadata

  • Download URL: trellis_dag-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fb419887468a9a5f43c4e42108c198b4dfd75c4ab3f0887f966c96e78fb1f793
MD5 9b4e80a6175044bec6b68ac9d98ba3c0
BLAKE2b-256 b0d34f02ffa66e1082864499439cb7c9b20b5861bc22279168e20f5013ef31b5

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