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