Repolode
kyegomez

kyegomez/tree-of-thoughts

Tree of Thoughts 的 Python 实现,让大模型通过搜索多条推理路径来解题,而不是一次性作答。

Star
4,594
Fork
373
未关闭 Issue
8
最近提交
上个月

这是什么?

Tree of Thoughts 让语言模型通过搜索来推理:每一步先提出若干候选思路,再对它们打分,剪掉明显错误的分支,推理走不通时回溯。本仓库提供的 TreeOfThoughts 类现已集成在 Swarms 框架中,支持广度优先或深度优先搜索部分解。

模型的每次输出都是经过 Pydantic 模式校验的函数调用,同一层的调用并发执行。用户可以配置思路描述、评估标准、搜索算法、束宽、最大深度和阈值,以适配具体任务。模型可通过 LiteLLM 接入,只要支持函数调用即可;运行结束后可以将完整搜索树导出为 JSON。

仓库附带 24 点游戏、物理计算、逻辑谜题和数学问题的示例,每个示例都给出可核对的答案。此外还提供了提示词模板,无需写代码即可在聊天模型中获得类似的多专家推理。

核心功能

  • 01支持广度优先和深度优先搜索推理步骤,并可回溯、剪枝。
  • 02支持对候选步骤进行独立打分或投票式比较评估。
  • 03分支数、深度、束宽和分数阈值均可配置。
  • 04可接入任何支持函数调用的 LiteLLM 模型。
  • 05可将完整搜索树导出为 JSON 数据。

适用场景

  • 解决多步算术或谜题类问题,这类问题单次模型调用往往容易出错。
  • 在规划或排程任务中同时保留多个部分方案进行比较。
  • 进行需要在出现矛盾时回溯的分情况分析。
  • 用可验证答案的数学或逻辑题评估模型的推理效果。

快速上手

  1. 1

    安装 swarms 包

    pip3 install -U swarms
  2. 2

    在工作目录的 .env 文件中添加你的 API 密钥

  3. 3

    运行使用 TreeOfThoughts 的快速开始 Python 代码

    python examples/physics/hohmann_transfer.py

使用前须知

  • 需要支持函数调用的模型提供商的 API 密钥。
  • 多分支搜索会产生大量模型调用,成本随 breadth 和深度等参数快速增长。
  • Tree of Thoughts 现已内置于更大的 Swarms 框架中,会带来较重的依赖。

收录于专题

标签

常见问题

tree-of-thoughts 是什么?
Tree of Thoughts 的 Python 实现,让大模型通过搜索多条推理路径来解题,而不是一次性作答。 Tree of Thoughts 让语言模型通过搜索来推理:每一步先提出若干候选思路,再对它们打分,剪掉明显错误的分支,推理走不通时回溯。本仓库提供的 TreeOfThoughts 类现已集成在 Swarms 框架中,支持广度优先或深度优先搜索部分解。
tree-of-thoughts 可以免费使用吗?用的什么许可证?
tree-of-thoughts 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
tree-of-thoughts 还在维护吗?
半年内有更新。tree-of-thoughts 最近一次提交是在 2026年9月29日。
tree-of-thoughts 适合用来做什么?
解决多步算术或谜题类问题,这类问题单次模型调用往往容易出错。 在规划或排程任务中同时保留多个部分方案进行比较。 进行需要在出现矛盾时回溯的分情况分析。 用可验证答案的数学或逻辑题评估模型的推理效果。
tree-of-thoughts 怎么安装和运行?
安装 swarms 包: pip3 install -U swarms 在工作目录的 .env 文件中添加你的 API 密钥 运行使用 TreeOfThoughts 的快速开始 Python 代码: python examples/physics/hohmann_transfer.py
在哪里获取 tree-of-thoughts?
源代码和安装说明在 GitHub 上:https://github.com/kyegomez/tree-of-thoughts

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目