graph-of-thoughts  by spcl

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

Created 2 years ago
2,474 stars

Top 18.8% 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

9 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Vincent Weisser Vincent Weisser(Cofounder of Prime Intellect), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
10 more.

tree-of-thought-llm by princeton-nlp

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