文档索引
获取完整文档索引: https://docs.crewai.com.cn/llms.txt
在深入了解之前,请使用此文件来浏览所有可用页面。
CrewAI 提供了从最近一次 crew kickoff 中指定的任务进行重试的功能。当你完成一次 kickoff 后,如果想重新尝试特定任务,或者无需重复获取数据且智能体已经保存了 kickoff 执行时的上下文,这一功能将非常有用,你只需重试所需的任务即可。
你必须先运行 crew.kickoff() 才能重试任务。目前仅支持重试最近的一次 kickoff,因此如果你使用了 kickoff_for_each,它将只允许你从最近一次 crew 运行中进行重试。
以下是如何从任务中进行重试的示例
使用 CLI 从特定任务重试
要使用重试功能,请按照以下步骤操作
运行以下命令
要查看最近 kickoff 的 task_ids,请使用获取到要重试的 task_id 后,请使用crewai replay -t <task_id>
确保 crewai 已在你的开发环境中正确安装和配置。
以编程方式从任务重试
要以编程方式从任务重试,请使用以下步骤
指定重试过程的 `task_id` 和输入参数。
指定重试过程的 task_id 和输入参数。
在 try-except 代码块中执行重试命令,以处理潜在错误。
在 try-except 代码块中执行重试命令,以处理潜在错误。 def replay():
"""
Replay the crew execution from a specific task.
"""
task_id = '<task_id>'
inputs = {"topic": "CrewAI Training"} # This is optional; you can pass in the inputs you want to replay; otherwise, it uses the previous kickoff's inputs.
try:
YourCrewName_Crew().crew().replay(task_id=task_id, inputs=inputs)
except subprocess.CalledProcessError as e:
raise Exception(f"An error occurred while replaying the crew: {e}")
except Exception as e:
raise Exception(f"An unexpected error occurred: {e}")
通过上述改进和详细的功能说明,CrewAI 中重试特定任务变得更加高效和稳健。请确保严格遵循命令和步骤,以充分利用这些功能。