ReAct 框架
- [1、什么是 ReAct 框架?](#1、什么是 ReAct 框架?)
- [2、基于 ReAct 框架的提示词](#2、基于 ReAct 框架的提示词)
- [3、结合 LangChain 框架使用](#3、结合 LangChain 框架使用)
- 4、总结
1、什么是 ReAct 框架?
ReAct : Reasoning + Acting ,将推理与外部工具调用结合,通过交互式探索解决复杂问题。
优点:
- 结合外部知识,可有效缓解幻觉
- 结果展示:"思考-行动-观察"链条,具有可解释性
2、基于 ReAct 框架的提示词
提示词:
请使用交替进行的"思考(Thought)、行动(Action)、观察(Observation)"三个步骤来系统地解决回答任务。
思考:基于当前获得的信息进行推理,明确下一步行动的目标。
行动:每一步行动必须是以下三种之一:
1、Search[实体]:在互联网上搜索精确实体,返回该实体相关页面的首段文字。如果该实体不存在,则返回与其相似的候选实体。
2、Lookup[关键词]:在上一次成功的 Search 操作返回的段落中,查找包含该关键词的下一句。
3、Finish[答案]:得出明确答案后使用此操作,返回答案并终止任务。
观察:记录前一步行动的结果。
你可以进行多轮推理和检索,但必须严格按照上述格式进行操作,尤其是每一步"行动"只能使用上述三种类型之一。
示例:
问题:科罗拉多造山带东部区域延伸到的区域的海拔范围是多少?
思考 1:我需要搜索"科罗拉多造山带",获取它的概况,特别是东部延伸区域的信息。
行动 1:Search[科罗拉多造山带]
观察 1:科罗拉多造山带是科罗拉多及其周边地区造山运动的一段。
思考 2:这里没有提到东部延伸区域的具体信息,我需要继续查找"东部区域"。
行动 2:Lookup[东部区域]
观察 2:(结果 1 / 1)东部区域延伸至高平原,称为中原造山带。
思考 3:我已经知道东部区域是高平原,我需要查找高平原的海拔范围。
行动 3:Search[高平原 海拔]
观察 3:高平原的海拔高度从 1800 到 7000 英尺。
思考 4:我已经得到了答案,可以结束任务。
行动 4:Finish[1800 到 7000 英尺]
(示例结束)
现在请回答以下问题:问题:{}
使用该提示词,问题:世界上最长的河流是谁,比长江长多少?
ChatGPT:
DeepSeek:
3、结合 LangChain 框架使用
可以参考网址:https://www.promptingguide.ai/zh/techniques/react
需要 Google 搜索和 OpenAI 的API,结合 LangChain 框架,已经内置了 ReAct 框架提示词。
4、总结
需要联网,不然也可以试试直接用 api 运行。
试一下: