Skip to main content

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

auto_graph_of_thoughts-1.1.0.tar.gz (40.0 MB view details)

Uploaded Source

Built Distribution

auto_graph_of_thoughts-1.1.0-py3-none-any.whl (80.7 kB view details)

Uploaded Python 3

File details

Details for the file auto_graph_of_thoughts-1.1.0.tar.gz.

File metadata

File hashes

Hashes for auto_graph_of_thoughts-1.1.0.tar.gz
Algorithm Hash digest
SHA256 07d7d5bc1c0b52e91d06148300f813e41f7ff6599b505ba84c9899bcdd0df8a3
MD5 8d7b784f4a5acfec4f3024ff4ef63f91
BLAKE2b-256 c98296d9248e8d6f130584f7e09d5c3f3a70c06762d1274bdeae9a55ef3ce068

See more details on using hashes here.

File details

Details for the file auto_graph_of_thoughts-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for auto_graph_of_thoughts-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf58327d10df700f088e4e7931b58f2ee082a074f2d11c5875453f11a5c8aa2
MD5 50110c89d9c4ac980ab95bf3456421d5
BLAKE2b-256 44864d73370f28f8e17de59e5a5695ecda76826ab2fc49d72a9b0d2d720e068b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page