双重发送消息¶
前提条件
很多时候,用户可能会以非预期的方式与您的图互动。 例如,一个用户可能发送一条消息,并在图尚未完成运行之前再次发送第二条消息。 更一般地,用户可能在第一次运行尚未完成之前再次调用图。 我们称这种现象为“双重发送消息”。
目前,LangGraph 只在LangGraph 平台中处理这个问题,而不是在开源版本中。 其原因是,为了处理这种情况,我们需要知道图是如何部署的,而由于 LangGraph 平台处理部署问题,因此逻辑必须存在于该平台中。 如果您不想使用 LangGraph 平台,我们将在下面详细描述我们已经实现的选项。
拒绝¶
这是最简单的选项,它会拒绝任何后续运行,并且不允许重复发送短信。 查看操作指南以配置拒绝重复发送短信的选项。
加入队列¶
这是一个相对简单的选项,它会继续第一个运行直到完成整个运行,然后将新的输入作为单独的运行发送。 参见操作指南以配置加入队列双文本选项。
中断¶
此选项会中断当前执行,但保存到该点为止的所有工作。 然后插入用户输入,并从那里继续执行。
如果您启用此选项,则您的图应能够处理可能出现的奇怪边缘情况。 例如,您可能已经调用了一个工具,但尚未收到运行该工具的结果。 您可能需要移除该工具调用以避免出现悬空的工具调用。
参见操作指南以配置中断双倍文本选项。
回滚¶
此选项会中断当前执行并回滚在此期间完成的所有工作,包括最初的运行输入。然后将新的用户输入发送进去,基本上就像它是最初的输入一样。
参见操作指南以配置回滚双倍文本选项。