Skip to content

双重发信

先决条件

用户可能会以意想不到的方式与您的图形进行交互。 例如,用户可能会发送一条消息,然后在图形尚未完成运行之前发送第二条消息。 更一般来说,用户可能会在第一次运行尚未完成之前第二次调用图形。 我们称之为“双重发信”。

目前,LangGraph 仅在 LangGraph 平台 中解决此问题,而不在开源版本中解决。 这样做的原因是,为了处理此问题,我们需要知道图形是如何部署的,由于 LangGraph 平台处理部署,因此逻辑需要在那里进行处理。 如果您不想使用 LangGraph 平台,我们将在下面详细描述我们实现的选项。

拒绝

这是最简单的选项,它只是拒绝任何后续运行,不允许双重发信。 有关配置拒绝双重发信选项的详细信息,请参见 操作指南

排队

这是一个相对简单的选项,它继续第一次运行,直到完成整个运行,然后将新输入作为单独的运行发送。 有关配置排队双重发信选项的详细信息,请参见 操作指南

中断

此选项中断当前执行,但保留到该点为止所做的所有工作。 然后插入用户输入并从那里继续。

如果您启用此选项,您的图形应该能够处理可能出现的奇怪边缘情况。 例如,您可能已调用一个工具,但尚未从该工具的运行中获得结果。 您可能需要删除该工具调用,以避免出现悬空的工具调用。

有关配置中断双重发信选项的详细信息,请参见 操作指南

回滚

此选项中断当前执行并回滚到该点为止所做的所有工作,包括原始运行输入。 然后,它将新的用户输入发送进来,基本上就好像它是原始输入一样。

有关配置回滚双重发信选项的详细信息,请参见 操作指南