A DSL for defining LLM agent graphs with dotlang-inspired syntax
Project description
GraphLang
GraphLang provides a domain-specific language (DSL) to define large language model (LLM) agent graphs. The DSL allows you to structure and manage complex interactions between LLMs and their attributes. This library helps you create agent graphs with flexible syntax and is designed for advanced AI workflows.
Features
- Define LLM agent graphs with nodes, edges, and attributes
- Use flexible syntax to add models and prompts
- Supports complex attribute assignment via lists, tuples, and dictionaries
Installation
Install the library using pip
:
pip install graphlang
Example Usage
Example DSL Graph
Here is an example graph defined using the DSL:
start node1;
node node1, node2;
node1 -> node2;
graph my_graph {
model my_model {
attribute = 1;
}
prompt my_prompt {
text = "Enter your message.";
}
}
DSL Syntax
The DSL follows these key rules:
Development
For development, install the necessary dependencies:
pip install graphlang[dev]
Run tests with:
pytest
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file graphlang-0.0.1.tar.gz
.
File metadata
- Download URL: graphlang-0.0.1.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49758496243e9bf885ecb39081e7b525f2a23e7ba50b34b53517e3735d4d5be0 |
|
MD5 | ca504040f9818075942761a704565c73 |
|
BLAKE2b-256 | 3b1b9b303adb1d5991bf6792c8e5003fa0718e36c875e5bc5f70a4067f37a07d |
File details
Details for the file graphlang-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: graphlang-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33c24ba0a3413932be5dcdc8e9179116ecef533aed52bc3b30d01624fe9eb69c |
|
MD5 | e13686f1c409463b3a4036f16247eefe |
|
BLAKE2b-256 | 88ccc0cb796321cc0c1cdd559ef3e0202fabd0c6e2a8de841752866db6510114 |