跳转至

双重输入

先决条件

用户可能会以非预期的方式与你的图交互。 例如,用户可能发送一条消息,然后在图完成运行之前发送第二条消息。 更一般地说,用户可能在第一次运行完成之前第二次调用图。 我们称这种情况为"双重输入"。

目前,LangGraph 仅作为 LangGraph Platform 的一部分处理此问题,而不是在开源版本中。 原因是为了处理这个问题,我们需要知道图是如何部署的,由于 LangGraph Platform 处理部署,因此逻辑需要存在于那里。 如果你不想使用 LangGraph Platform,我们在下面详细描述了我们实施的选项。

拒绝(Reject)

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

排队(Enqueue)

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

中断(Interrupt)

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

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

有关配置中断双重输入选项的信息,请参阅操作指南

回滚(Rollback)

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

有关配置回滚双重输入选项的信息,请参阅操作指南