Skip to content

双重发送消息

前提条件

很多时候,用户可能会以非预期的方式与您的图互动。 例如,一个用户可能发送一条消息,并在图尚未完成运行之前再次发送第二条消息。 更一般地,用户可能在第一次运行尚未完成之前再次调用图。 我们称这种现象为“双重发送消息”。

目前,LangGraph 只在LangGraph 平台中处理这个问题,而不是在开源版本中。 其原因是,为了处理这种情况,我们需要知道图是如何部署的,而由于 LangGraph 平台处理部署问题,因此逻辑必须存在于该平台中。 如果您不想使用 LangGraph 平台,我们将在下面详细描述我们已经实现的选项。

双重发送消息

拒绝

这是最简单的选项,它会拒绝任何后续运行,并且不允许重复发送短信。 查看操作指南以配置拒绝重复发送短信的选项。

加入队列

这是一个相对简单的选项,它会继续第一个运行直到完成整个运行,然后将新的输入作为单独的运行发送。 参见操作指南以配置加入队列双文本选项。

中断

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

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

参见操作指南以配置中断双倍文本选项。

回滚

此选项会中断当前执行并回滚在此期间完成的所有工作,包括最初的运行输入。然后将新的用户输入发送进去,基本上就像它是最初的输入一样。

参见操作指南以配置回滚双倍文本选项。

Comments