跳转到主要内容

文档索引

获取完整文档索引: https://docs.crewai.com.cn/llms.txt

在深入了解之前,请使用此文件来浏览所有可用页面。

简介

CrewAI 提供了从最近一次 crew kickoff 中指定的任务进行重试的功能。当你完成一次 kickoff 后,如果想重新尝试特定任务,或者无需重复获取数据且智能体已经保存了 kickoff 执行时的上下文,这一功能将非常有用,你只需重试所需的任务即可。
你必须先运行 crew.kickoff() 才能重试任务。目前仅支持重试最近的一次 kickoff,因此如果你使用了 kickoff_for_each,它将只允许你从最近一次 crew 运行中进行重试。
以下是如何从任务中进行重试的示例

使用 CLI 从特定任务重试

要使用重试功能,请按照以下步骤操作
1

打开您的终端或命令提示符。

2

导航到您的 CrewAI 项目所在的目录。

3

运行以下命令

要查看最近 kickoff 的 task_ids,请使用
crewai log-tasks-outputs
获取到要重试的 task_id 后,请使用
crewai replay -t <task_id>
确保 crewai 已在你的开发环境中正确安装和配置。

以编程方式从任务重试

要以编程方式从任务重试,请使用以下步骤
1

指定重试过程的 `task_id` 和输入参数。

指定重试过程的 task_id 和输入参数。
2

在 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 中重试特定任务变得更加高效和稳健。请确保严格遵循命令和步骤,以充分利用这些功能。