项目介绍:Tree of Thought Puzzle Solver
Tree of Thought Puzzle Solver 项目涉及一个基于“思维树”框架的数独解题程序。该项目是为了改进自回归大语言模型(LLMs)的问题解决能力而提出的一种创新方法。这种“思维树”技术的灵感来源于人类在解决复杂推理任务时,通过试探与错误进行思考的方式。在这一过程中,人的思维如同探索解空间结构,一旦某个路径行不通,还可以选择回溯并重新探索其他路径。
想法与实现
为了将“思维树”方法转化为实际软件系统,项目组增强了一种大语言模型,增加了一些附加的模块。这些模块包括提示代理、检查模块、记忆模块和思维树控制器。这些模块与大语言模型进行多轮对话,以求解决给定的问题。
与传统的自回归大语言模型在生成序列时只能基于之前生成的内容不同,思维树框架允许系统在思维的过程中进行回溯,重新从前一阶段进行探索,尝试不同的方向。如此一来,系统可以更灵活、更人性化地解决复杂问题。
有关更多详细信息,您可以查阅项目的预印本:《Large Language Model Guided Tree-of-Thought》(大语言模型引导的思维树)。
环境配置
要开始使用这个项目,首先需要克隆项目仓库并安装必要的依赖。确保您的 Python 版本在 3.9 或以上:
git clone https://github.com/jieyilong/tree-of-thought-puzzle-solver
cd tree-of-thought-puzzle-solver
pip install -r requirements.txt
touch config.yaml
创建并编辑 config.yaml
文件,将以下内容粘贴进去,保存文件。接着,设置您选择的模型(例如 "gpt-3.5-turbo")以及您的 OpenAI API 密钥:
chatbot:
type: "openai"
max_context_length: 8000
include_chat_history_in_query: false
openai:
model: <model_name>
api_key: <your_open_ai_api_key>
运行思维树解题器
一旦环境配置完成,可以通过以下命令运行思维树解题器:
python run_tot.py "<problem_description>"
# 示例
python run_tot.py "please solve this 4x4 sudoku puzzle [[*,1,*,*],[*,*,2,*],[*,*,*,4],[1,*,*,*]] where * represents a cell to be filled in."
实验运行
项目支持多种解题模式的实验运行,包括零次尝试、单次提示、多次提示以及思维树模式。您可以通过以下命令选择不同解题策略并运行实验:
# solver_type: zero_shot, one_shot_with_cot, few_shot_with_cot, tot
python run_expr.py <solver_type> <path/to/problem/set/json>
# 示例
python run_expr.py zero_shot data/benchmarks/sudoku/3x3_sudoku_puzzles.json
python run_expr.py one_shot_with_cot data/benchmarks/sudoku/3x3_sudoku_puzzles.json
python run_expr.py few_shot_with_cot data/benchmarks/sudoku/3x3_sudoku_puzzles.json
python run_expr.py tot data/benchmarks/sudoku/3x3_sudoku_puzzles.json
引用
如果您在研究中引用了该项目,请参考以下文献格式:
@misc{long2023llmtot,
title={Large Language Model Guided Tree-of-Thought},
author={Jieyi Long},
year={2023},
eprint={2305.08291},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
以上就是 Tree of Thought Puzzle Solver 项目的介绍。通过这种结合人工智能与人类独特思维模式的创意解决方案,项目团队期望在问题解决领域取得更大的突破。