生成自playgroundai/playground-v2.51024px-aesthetic
让我们学习如何使用ReAct提示。这种高级提示方法减少了错误信息,让大模型更可靠。 《介绍》从第一部分和第二部分中,我学到了一些新的东西,并且不断完善将“人类的需求”转化为 Bash 脚本的想法。
我觉得用 osascript
不如直接用 bash 更有效,因为 bash 可以做更多的事情。
我也有探索过模型的微调和精简过程,但看起来成本比我想象中的要高一些,作为我的一个额外学习项目。
然后我发现了一个叫“ReAct”的东西!
什么是 ReAct?
ReAct (https://arxiv.org/abs/2210.03629) 是一种流行的技术,它提供了一种有效的方法来编写提示。
简而言之,你就是不断重复生成答案
思考-行动-观察模式思考过程是LLM(大规模语言模型)推理下一步应该怎么做。
动作就是你采取的行动
观察到的结果就是这个行动的结果
我之前看过了ReAct那篇论文,但一直没搞清楚怎么把它用起来……怎么写提示来解决我的问题。
意外地拉取了LangChain的代码,搞定啦。
我的看法请注意,论文中的实际实现与LangChain的不同。
该论文中,通过思想、行动和观察反复迭代,在每次迭代时推断出 openai
的结果,并将结果作为下一次迭代的提示。
但在LangChain中引入了一种一次性推理迭代。你马上就会明白我的意思。
让我们从提示开始吧行了,咱们直接说重点吧。这是我在LangChain找到的一个原始提示:
问题:你需要回答的输入问题
思考:你应该考虑怎样做
行动:采取的动作,应该是 [{工具名称}] 中的一个
行动输入:该行动的输入
观察:该行动的结果是
...(此思考/行动/行动输入/观察可以重复 N 次)
思考:现在我知道了最终答案
最终答案:对原始问题的最终回答
看看原文:代码
这是我对“Human wish to bash script bot”改编的第一个草稿,适用于敲击脚本的机器人。
指令:你需要回答的输入指令
思考:你应该始终考虑如何用bash命令来操作
操作:相应的bash命令
验证:检查操作是否成功的命令
...(这个思考/操作/验证可以重复N次)
思考:我现在有了最终的答案
Bash脚本:执行所有操作的脚本
指令:{question}
ReAct 完整版在线
如果你想看看实际的情况,这里就是!
PartRock(帕特洛克)AWS巴斯赫·派瑞摇滚 AWS (点击这里进入帕科扎的新应用)[https://partyrock.aws/u/pacozaa/WbonnT3dw/new-app-WbonnT3dw]
Huggingface 聊天室我建议你在开始日常使用它作为助手之前,添加几个简短的指令或示例。
如果你想更深入地做这件事,最终结果将被注入到 bash 命令 eval 中,这样我们就需要一个代理将人类的愿望转换成 bash 脚本的命令。
总而言之ReAct 帮助 LLM 的方式在于将解决步骤拆解成单一动作并检查该动作的结果。这个 LLM 专注于一个具体的小任务,并在验证完结果后再决定下一个动作。
结果结果很棒,它能极大地提高大语言模型的效果和可靠性,确实效果不错。
继续前进... 或者 更深入地了解...当然,这种ReAct提示方式对于能调用工具的代理式LLM系统来说是完美的,并得到实际结果。下次再说吧。