从特定任务重新执行
引言¶
CrewAI提供了从最新crew启动中指定的任务进行重放的能力。此功能在完成启动后特别有用,当你可能想要重试某些任务或不需要重新获取数据时,你的代理已经从启动执行中保存了上下文,因此你只需重放你想要的任务即可。
注意:¶
在重放任务之前,你必须运行crew.kickoff()。目前,仅支持最新的启动,所以如果你使用kickoff_for_each,它将只允许你从最近的crew运行中重放。
以下是如何从特定任务重放的示例:
使用CLI从特定任务重放¶
要使用重放功能,请按照以下步骤操作:
- 打开你的终端或命令提示符。
- 导航到你CrewAI项目所在的目录。
- 运行以下命令:
要查看最新的启动task_ids,使用:
一旦你有了要重放的task_id,使用:
注意: 确保crewai已正确安装并配置在你的开发环境中。
以编程方式从任务重放¶
要以编程方式从任务重放,请按照以下步骤操作:
- 指定
task_id和重放过程的输入参数。 - 在try-except块中执行重放命令以处理潜在错误。
def replay():
"""
从特定任务重放crew执行。
"""
task_id = '<task_id>'
inputs = {"topic": "CrewAI Training"} # 这是可选的;你可以传入你想要重放的输入;否则,它将使用之前启动的输入。
try:
YourCrewName_Crew().crew().replay(task_id=task_id, inputs=inputs)
except subprocess.CalledProcessError as e:
raise Exception(f"在重放crew时发生错误:{e}")
except Exception as e:
raise Exception(f"发生意外错误:{e}")
结论¶
通过上述增强和详细功能,CrewAI中重放特定任务已变得更加高效和健壮。确保你准确遵循命令和步骤,以充分利用这些功能。