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:
    • DISABLE_TELEMETRY=1
  • If you want to reduce the amount of information the logger returns, set:
    • [for everything] LOG_LEVEL=DEBUG
    • [for status updates] LOG_LEVEL=INFO
    • [for only warnings] LOG_LEVEL=WARNING
    • [for errors which stop runtime] LOG_LEVEL=ERROR
    • [for only critical errors] 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.6.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.6-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: trellis_dag-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 cdf5eee54dfadb4270f9961c06d3b8bd8085bbda8ff01bd1c7e510e0c46ea8c8
MD5 6a6aeb2cd76c1c28b7a83eebd045eb30
BLAKE2b-256 8516632c254ee4b31aeb26c0bdfd7c2716981587d1a428220c8db3175f586377

See more details on using hashes here.

File details

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

File metadata

  • Download URL: trellis_dag-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 48c15e09aa22767866bdc5e8b1d34281cb310c8f2522f71e1981969524d9820f
MD5 885c8c205f1d4a82f50a126f487c9c60
BLAKE2b-256 4f34cd9f82ca60e510231192511eb285a65010d303420aec981f9990377b204a

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