Repolode
kyegomez

kyegomez/tree-of-thoughts

Uma implementação em Python de Tree of Thoughts, que permite que LLMs resolvam problemas buscando entre etapas de raciocínio candidatas, em vez de responder em uma única passada.

Estrelas
4,594
Forks
373
Issues abertas
8
Último commit
mês passado

O que é?

Tree of Thoughts faz um modelo de linguagem raciocinar por meio de busca. Ele propõe várias etapas seguintes candidatas, atribui uma pontuação a cada uma, poda os ramos fracos e retrocede quando uma linha de raciocínio falha. Este repositório disponibiliza a classe TreeOfThoughts, que agora faz parte do framework Swarms, e executa busca em largura ou em profundidade sobre soluções parciais.

Cada saída do modelo é uma chamada de função validada com um schema Pydantic, e as chamadas no mesmo nível da árvore são executadas em paralelo. Os usuários definem a descrição dos pensamentos, os critérios de avaliação, o algoritmo de busca, a largura do feixe, a profundidade e o limite de valor conforme a tarefa. É possível usar qualquer modelo LiteLLM compatível com chamadas de função, e a árvore de busca completa fica disponível em JSON após a execução.

O repositório inclui exemplos de Game of 24, cálculos de física, quebra-cabeças de lógica e problemas matemáticos, cada um com uma resposta esperada. Também inclui templates de prompt para obter um raciocínio semelhante, com vários especialistas, de um modelo de chat sem escrever código.

Recursos principais

  • 01Busca em largura e em profundidade sobre etapas de raciocínio, com retrocesso e poda.
  • 02Avaliação das etapas candidatas por valor e votação.
  • 03Fator de ramificação, profundidade, largura do feixe e limite de pontuação configuráveis.
  • 04Compatível com qualquer modelo LiteLLM que ofereça suporte a chamadas de função.
  • 05Retorna a árvore de busca completa em dados serializáveis como JSON.

Casos de uso

  • Resolver problemas de aritmética com várias etapas ou quebra-cabeças em que uma única passada do modelo costuma falhar.
  • Explorar opções de planejamento ou agendamento mantendo várias soluções parciais em aberto.
  • Executar análises de casos que precisam retroceder quando um ramo se contradiz.
  • Avaliar a qualidade do raciocínio em benchmarks de matemática ou lógica com respostas verificáveis.

Início rápido

  1. 1

    Instale o pacote swarms

    pip3 install -U swarms
  2. 2

    Adicione sua chave de API a um arquivo .env no diretório de trabalho

  3. 3

    Execute o código Python do Quickstart usando TreeOfThoughts

    python examples/physics/hohmann_transfer.py

Antes de usar

  • Requer uma chave de API de um provedor de modelos compatível com function calling.
  • A busca com múltiplos ramos faz muitas chamadas ao modelo, então o custo aumenta rapidamente com configurações como breadth e depth.
  • Tree of Thoughts agora faz parte do framework mais amplo Swarms, o que adiciona uma dependência considerável.

Em coleções

Tópicos

Perguntas frequentes

O que é tree-of-thoughts?
Uma implementação em Python de Tree of Thoughts, que permite que LLMs resolvam problemas buscando entre etapas de raciocínio candidatas, em vez de responder em uma única passada. Tree of Thoughts faz um modelo de linguagem raciocinar por meio de busca. Ele propõe várias etapas seguintes candidatas, atribui uma pontuação a cada uma, poda os ramos fracos e retrocede quando uma linha de raciocínio falha. Este repositório disponibiliza a classe TreeOfThoughts, que agora faz parte do framework Swarms, e executa busca em largura ou em profundidade sobre soluções parciais.
tree-of-thoughts é gratuito? Qual é a licença?
tree-of-thoughts é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
tree-of-thoughts ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de tree-of-thoughts foi em 29 de set. de 2026.
Para que posso usar tree-of-thoughts?
Resolver problemas de aritmética com várias etapas ou quebra-cabeças em que uma única passada do modelo costuma falhar. Explorar opções de planejamento ou agendamento mantendo várias soluções parciais em aberto. Executar análises de casos que precisam retroceder quando um ramo se contradiz. Avaliar a qualidade do raciocínio em benchmarks de matemática ou lógica com respostas verificáveis.
Como instalar tree-of-thoughts?
Instale o pacote swarms: pip3 install -U swarms Adicione sua chave de API a um arquivo .env no diretório de trabalho Execute o código Python do Quickstart usando TreeOfThoughts: python examples/physics/hohmann_transfer.py
Onde consigo tree-of-thoughts?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kyegomez/tree-of-thoughts

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados