重复发送消息¶
先决条件
用户经常会以意想不到的方式与您的图进行交互。例如,用户可能会发送一条消息,然后不等图运行完成就发送第二条消息。更一般地说,用户可能会在第一次运行完成之前第二次调用该图。我们将此称为“重复发送消息”。
目前,LangGraph 仅在 LangGraph 平台中处理此问题,而不是在开源版本中。原因是,为了处理这个问题,我们需要知道图是如何部署的,而且由于 LangGraph 平台处理部署,所以逻辑需要驻留在那里。如果您不想使用 LangGraph 平台,我们将在下面详细描述我们已实现的选项。
拒绝¶
这是最简单的选项,它会拒绝任何后续运行,并且不允许重复发送消息。请参阅操作指南,了解如何配置拒绝重复发送消息选项。
排队¶
这是一个相对简单的选项,它会继续第一次运行直到完成整个运行,然后将新输入作为单独的运行发送。请参阅操作指南,了解如何配置排队重复发送消息选项。
中断¶
此选项会中断当前执行,但会保存截至该点的所有已完成工作。然后它会插入用户输入并从那里继续。
如果启用此选项,您的图应该能够处理可能出现的奇怪边缘情况。例如,您可能已经调用了一个工具,但尚未从该工具的运行中获得结果。您可能需要删除该工具调用,以避免出现悬空工具调用。
请参阅操作指南,了解如何配置中断重复发送消息选项。
回滚¶
此选项会中断当前执行并回滚截至该点的所有已完成工作,包括原始运行输入。然后它会发送新的用户输入,基本上就像它是原始输入一样。
请参阅操作指南,了解如何配置回滚重复发送消息选项。