Automated Graph of Thoughts
Project description
Automated Graph of Thoughts
This is the official implementation of Automated Graph of Thoughts.
Setup Guide
To run this code, Python 3.11
or newer is required.
The latest version of the package can be installed from PyPI:
pip install auto-graph-of-thoughts
Alternatively, the package can be installed from source.
Optional Dependencies
The project comes with optional dependencies which are required for some features.
Graph Visualization
To visualize the graphs by using pure_graph_of_thoughts.visualization
,
the optional visualization
dependencies are required.
pip install auto-graph-of-thoughts[visualization]
For a cleaner, hierarchical visualization, add dot-visualization
.
pip install auto-graph-of-thoughts[visualization,dot-visualization]
Be aware that dot-visualization
requires the GraphViz library to be installed.
Notebooks
Several notebooks with examples and model training are provided with the source code.
To run the notebooks, the optional notebooks
dependencies are required.
pip install auto-graph-of-thoughts[notebooks]
Be aware that the notebooks are not part of the distributed package on PyPI.
Pure Graph of Thoughts
The package pure_graph_of_thoughts
contains a new implementation of the Graph of Thoughts concepts.
Graph of Thoughts was originally introduced in the paper Graph of Thoughts: Solving Elaborate Problems with Large Language Models. The official implementation of the paper's proposed API can be found here: https://github.com/spcl/graph-of-thoughts.
The pure_graph_of_thoughts
package does not conform the API proposed by the original paper nor is it a fork of it.
It aims for a more automation-friendly implementation of the general concept of Graph of Thoughts,
where both construction and traversal of a graph can be handled iteratively.
Some key differences and restrictions:
- Operations and thoughts are represented independently of their graph structure.
- As a user-facing API, operations can be defined in a declarative way over a typed and validated data structure (DSL).
- There is a strict distinction between a prompt operation executed by a language model and a code execution operation.
- To simplify parsing logic and to ensure consistent results, the JSON format is used for communication with the language model.
- The scoring is now part of an operation involving a prompt, rather than being a standalone operation that can be added arbitrarily. While this simplifies the automation process, it restricts the user's possibility of adding a validation operation.
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
File details
Details for the file auto_graph_of_thoughts-1.0.0.tar.gz
.
File metadata
- Download URL: auto_graph_of_thoughts-1.0.0.tar.gz
- Upload date:
- Size: 41.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fec2a1db442030689236a19f3b8148fe7520c125311baad82c46d221aa53550b |
|
MD5 | 3027b4c71d833c58f0e3422208c2ffc7 |
|
BLAKE2b-256 | 199342e51d972ebd20c464a4e1cc83319daab7a549eab9b1ca62ed991e45a949 |
File details
Details for the file auto_graph_of_thoughts-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: auto_graph_of_thoughts-1.0.0-py3-none-any.whl
- Upload date:
- Size: 81.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eff95a88b160b0686c5b6e300153cb10340ad9f8fbb61f3f21a5af1a3f71ffb |
|
MD5 | b20146c9e7e309d33d24ffc659795fa6 |
|
BLAKE2b-256 | e65e644b774f96d0fa6de0ed9a263d6c0bf3f6e07b3f5fc2e7fc5ff34bf1c3b1 |