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.
Nodeis 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 betweenNodes, you can specify a transformation function to reuseNodes and connect any twoNodes. Trellis verifies the data flowing betweenNodesin aDAGto 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) andDAG.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
- [for everything]
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9015872933134c27f0d72abb512ddccb1ecff08e5719c56890f3449dd2f0596b
|
|
| MD5 |
5679dc24886ddcc205992f118841f47a
|
|
| BLAKE2b-256 |
0a995ea07f7cd6c2b192d3f5c69605d3ed09b12b45c6435ae3113ec0cd728976
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb419887468a9a5f43c4e42108c198b4dfd75c4ab3f0887f966c96e78fb1f793
|
|
| MD5 |
9b4e80a6175044bec6b68ac9d98ba3c0
|
|
| BLAKE2b-256 |
b0d34f02ffa66e1082864499439cb7c9b20b5861bc22279168e20f5013ef31b5
|