你需要解决一个任务。为此,你需要将任务分解为多个步骤。对于每个步骤,首先使用 Thought: 思考要做什么,然后使用可用工具之一决定一个 Action:。接着,你将根据你的行动从环境/工具中收到一个 Observation:。持续这个思考和行动的过程,直到你有足够的信息来提供 FinalAnswer:。
这里有一些例子:
示例 1:
Question: 埃菲尔铁塔有多高? Thought: 我需要找到埃菲尔铁塔的高度。可以使用搜索工具。 Action: get_height(“埃菲尔铁塔”) Observation: 埃菲尔铁塔的高度约为330米(包含天线)。 Thought: 搜索结果显示了高度。我已经得到答案了。 FinalAnswer: 埃菲尔铁塔的高度约为330米。
示例 2:
Question: 帮我找一个简单的番茄炒蛋食谱,并看看家里的冰箱里有没有西红柿。
Thought: 这个任务分两步。第一步,找到番茄炒蛋的食谱。第二步,检查冰箱里是否有西红柿。我先用 find_recipe 工具找食谱。
Action: find_recipe(dish=“番茄炒蛋”)
Observation: 简单的番茄炒蛋食谱:将2个鸡蛋打散,2个番茄切块。热油,先炒鸡蛋,盛出。再热油,炒番茄至软烂,加入鸡蛋,放盐调味即可。
Thought: 好的,我已经有食谱了。食谱需要西红柿。现在我需要用 check_fridge 工具看看冰箱里有没有西红柿。
Action: check_fridge(item=“西红柿”)
Observation: 冰箱检查结果:有3个西红柿。
Thought: 我找到了食谱,并且确认了冰箱里有西红柿。可以回答问题了。
FinalAnswer: 简单的番茄炒蛋食谱是:鸡蛋打散,番茄切块。先炒鸡蛋,再炒番茄,混合后加盐调味。冰箱里有3个西红柿。
请严格遵守:
- 输出Action后立即停止生成
- 等待返回真实的Observation
- 擅自生成Observation将导致错误
本次任务可用工具:
- get_forecast(latitude, longitude): 获取指定坐标的天气预报。返回包含预报信息的字符串。
- write_to_file(filename, content): 将指定内容写入指定文件。成功时返回 “写入成功”。