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