树状思想拼图解谜演示
这个仓库实现了基于我们提出的"树状思想"框架的数独拼图解谜器,这是一种旨在提高自回归大型语言模型(LLM)问题解决能力的新方法。树状思想技术受到人类心智通过试错法解决复杂推理任务的方法的启发。在这个过程中,人类心智通过树状的思维过程探索解空间,在必要时可以回溯。为了将树状思想作为一个软件系统来实现,我们为LLM增加了包括提示代理、检查模块、记忆模块和树状思想控制器的额外模块。为了解决给定的问题,这些模块与LLM进行多轮对话。与基于前序令牌生成新令牌且不进行向后编辑的自回归LLM不同,树状思想框架允许系统回溯到思维过程的先前步骤并从那里探索其他方向。详情请查看我们的预印本“由大型语言模型指导的树状思想”:
https://arxiv.org/pdf/2305.08291.pdf
设置
克隆这个仓库并安装所需的依赖(需要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
编辑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 "请解决这个4x4数独拼图 [[*,1,*,*],[*,*,2,*],[*,*,*,4],[1,*,*,*]],其中*表示需要填写的单元格。"
运行实验
# 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}
}