跳转至

人机交互

为了审查、编辑和批准代理或工作流中的工具调用,使用 LangGraph 的人机交互功能来在工作流的任何点启用人工干预。这在大型语言模型(LLM)驱动的应用中特别有用,因为模型输出可能需要验证、纠正或额外的上下文。

image

Tip

有关如何使用人机交互的信息,请参阅启用人工干预使用 Server API 进行人机交互

主要功能

  • 持久执行状态:中断使用 LangGraph 的持久化层,该层保存图状态,以无限期暂停图执行直到您恢复。这是可能的,因为 LangGraph 在每个步骤后都会检查点图状态,这使系统能够持久化执行上下文并在之后恢复工作流,从它停止的地方继续。这支持异步人工审查或输入,没有时间限制。

    有两种暂停图的方法:

    • 动态中断:使用 interrupt 根据图的当前状态从特定节点内部暂停图。
    • 静态中断:使用 interrupt_beforeinterrupt_after 在预定义点暂停图,在节点执行之前或之后。

    image
    一个包含 3 个顺序步骤的示例图,在 step_3 之前有一个断点。

  • 灵活的集成点:人机交互逻辑可以在工作流的任何点引入。这允许有针对性的人工参与,例如批准 API 调用、纠正输出或引导对话。

模式

有四种可以使用 interruptCommand 实现的典型设计模式:

  • 批准或拒绝:在关键步骤(如 API 调用)之前暂停图,以审查和批准操作。如果操作被拒绝,您可以阻止图执行该步骤,并可能采取替代操作。此模式通常涉及根据人工输入路由图。
  • 编辑图状态:暂停图以审查和编辑图状态。这对于纠正错误或使用额外信息更新状态很有用。此模式通常涉及使用人工输入更新状态。
  • 审查工具调用:暂停图以审查和编辑 LLM 在工具执行之前请求的工具调用。
  • 验证人工输入:暂停图以在继续下一步之前验证人工输入。