graph-of-thoughts  by spcl

Graph-of-Thoughts: LLM framework for complex problem-solving

created 1 year ago
2,435 stars

Top 19.5% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides the official implementation of the Graph of Thoughts (GoT) framework, enabling Large Language Models (LLMs) to solve complex problems by modeling them as executable Graphs of Operations (GoOs). It offers flexibility to implement various reasoning approaches, including Chain-of-Thought (CoT) and Tree-of-Thoughts (ToT), making it suitable for researchers and developers exploring advanced LLM reasoning capabilities.

How It Works

GoT models problem-solving as a graph where nodes represent operations (e.g., generation, scoring) and edges represent the flow of information. An LLM acts as the engine to execute these operations, dynamically generating and evaluating intermediate "thoughts." This graph-based approach allows for more structured and complex reasoning pathways than linear methods, facilitating the decomposition and resolution of elaborate problems.

Quick Start & Requirements

  • Install via pip: pip install graph_of_thoughts
  • For development: Clone the repo and run pip install -e .
  • Requires Python 3.8+
  • LLM access is necessary; configuration instructions are in the Controller README. OpenAI API key example provided.
  • See examples for usage.

Highlighted Details

  • Implements the "Graph of Thoughts" paper for solving elaborate problems with LLMs.
  • Supports flexible GoO definition, allowing custom reasoning chains.
  • Enables comparison with prior methods like CoT and ToT.
  • Includes examples for sorting and keyword counting, with code fully documented.

Maintenance & Community

  • Project initiated by spcl (Systems and Processes Lab, ETH Zurich).
  • Contact: nils.blach@inf.ethz.ch or open an issue for questions/feedback.
  • Citation provided for academic use.

Licensing & Compatibility

  • The repository does not explicitly state a license in the provided README. Further investigation into the repository's files is recommended for licensing details and commercial use compatibility.

Limitations & Caveats

  • LLM configuration is external to this package, requiring separate setup for API keys and model selection.
  • The README does not specify performance benchmarks or resource requirements beyond Python version.
Health Check
Last commit

7 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
91 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), John Yang John Yang(Author of SWE-bench, SWE-agent), and
7 more.

tree-of-thought-llm by princeton-nlp

0.3%
5k
Research paper implementation for Tree of Thoughts (ToT) prompting
created 2 years ago
updated 6 months ago
Feedback? Help us improve.