Skip to main content
LangGraph 提供了 时间旅行 功能,可以从先前的检查点恢复执行,既可以重放相同的状态,也可以修改它以探索替代方案。在所有情况下,恢复过去的执行都会在历史中产生一个新的分支。 要通过 LangSmith 部署 API(通过 LangGraph SDK)进行时间旅行:
  1. 运行图:使用 LangGraph SDKclient.runs.waitclient.runs.stream API 运行图并传入初始输入。
  2. 在现有线程中识别检查点:使用 client.threads.get_history 方法检索特定 thread_id 的执行历史,并定位所需的 checkpoint_id。 或者,在希望执行暂停的节点之前设置一个 断点。然后,您可以找到记录到该断点的最近检查点。
  3. (可选)修改图状态:使用 client.threads.update_state 方法修改图在检查点处的状态,并从替代状态恢复执行。
  4. 从检查点恢复执行:使用 client.runs.waitclient.runs.stream API,输入为 None,并指定相应的 thread_idcheckpoint_id

在工作流中使用时间旅行

1. 运行图

2. 识别检查点

3. 更新状态

update_state 将创建一个新的检查点。新的检查点将与同一个线程关联,但会有一个新的检查点 ID。

4. 从检查点恢复执行

了解更多