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. 从检查点恢复执行

了解更多