当前位置: 首页 > news >正文

[LangGraph] checkpoint常用API

  • getState:可以获取最后的检查点快照,如果传了checkpoint_id,那么就获取对应checkpoint_id的快照。
  • 获取所有的检查点快照
    • list:不是graph上面的方法,而是checkpointer上面的方法
    • getStateHistory:是graph上面的方法

1. 获取最新状态

这是最常用的API,用来查看当前 thread 的 最后一个 checkpoint 的完整状态。

const config = {configurable: { thread_id: "user_1001_chat" }
};const snapshot = await graph.getState(config);

它会返回一个StateSnapshot对象,里面包含:

  • 当前 state(你的 zod schema 定义的全部字段)
  • 当前的 messages(对话历史)
  • 当前超步中的执行元数据
  • 最后一个 checkpoint_id

你可以把它理解为:把该线程当前的世界状态全部给我。

2. 列出所有检查点

这个方法用于查看某条 thread 的完整 checkpoint 时间线:

const config = { configurable: { thread_id: "1" } };
const allCps = await checkpointer.list(config);

输出是一组检查点元数据,例如:

[{config: {configurable: {thread_id: "1",checkpoint_ns: "",checkpoint_id: "1f0d417a-160b-6010-8002-4989c8485d2c",},},checkpoint: {v: 4,id: "1f0d417a-160b-6010-8002-4989c8485d2c",ts: "2025-12-08T09:24:00.529Z",channel_values: { foo: "b", bar: ["a", "b"], __pregel_tasks: [[], []] },channel_versions: {__start__: 2,foo: 4,bar: 4,"branch:to:nodeA": 3,"branch:to:nodeB": 4,},versions_seen: {__input__: {},__start__: { __start__: 1 },nodeA: { "branch:to:nodeA": 2 },nodeB: { "branch:to:nodeB": 3 },},},metadata: { source: "loop", step: 2, parents: {} },pendingWrites: [],parentConfig: {configurable: {thread_id: "1",checkpoint_ns: "",checkpoint_id: "1f0d417a-1608-6900-8001-06b1113beafe",},},},// ...
]
  1. checkpoint_id

这是当前 checkpoint 的唯一ID,用来确定“这是哪一个时间点”。

用途:

  • time travel
  • 版本回溯
  • 恢复历史
  • 分支执行

你可以把它理解为:存档编号

  1. config

这是这个 checkpoint 执行时所使用的 config,包括:

  • thread_id
  • checkpoint_id
  • checkpoint_ns(命名空间)

它决定了属于哪个 thread(对话),断电重启、恢复执行,都靠它。

  1. metadata

执行时产生的元信息,例如:

  • 执行到了哪一步(step)
  • 来源(source)
  • 父节点执行信息

例如:

metadata: { source: 'loop', step: 2, parents: {} }

含义就是:这个 checkpoint 是第 2 个步骤执行结束时产生的。

  1. parentConfig

这个 checkpoint 的“上一个 checkpoint”。

换句话说:parentConfig → 这个 checkpoint 的父存档是谁

作用:

  • 用来恢复整个执行链路
  • 构建执行时间线
  • time-travel 时知道上一点是谁
  • 能显示完整历史链条

可以理解为:这是从哪个 checkpoint 演化来的。

  1. pendingWrites

这表示“这个 checkpoint 在本次执行中有哪些写操作,将被写入 state”。

形式通常是三元组:

[nodeId, field, value]

意思是:

  • 哪个节点
  • 要写哪个字段
  • 写什么值

示例:

['nodeA', 'foo', 'b']

翻译为:节点A,把 foo 写成 b

为什么叫 pending ?因为它记录发生过哪些写操作,但最后的结果体现在 channel_values 中。

  1. channel_values

这就是“state 真正存储的值”,里面就是完整状态

也可以使用 graph.getStateHistory() 方法,例如:

const config = { configurable: { thread_id: "1" } };
graph.getStateHistory(config)

3. 获取指定检查点

如果你不想看最新状态,而是想看某个历史状态,就可以这样:

const config = {configurable: {thread_id: "user_1001_chat",checkpoint_id: "6c2c72c0-..."  // 历史 checkpoint id}
};const snapshot = await graph.getState(config);

官方支持这种用法,用于:

  • 时间旅行(Time Travel)
  • 调试历史状态
  • 对比不同 checkpoint 之间的差异

总结

检查点相关API能让开发者可以读取、回放、分叉、恢复任意执行点,它们是 langgraph 持久化机制的核心工具箱。


-EOF-

http://www.jsqmd.com/news/439424/

相关文章:

  • 效率与质量双优:推荐一些AI智能降重软件
  • 2026年欧式起重机老牌厂家推荐,靠谱供应商价格多少 - myqiye
  • 盘点新疆靠谱的民宿设计装修品牌,哪家在灯光设计和创新方面更出色? - mypinpai
  • 聚焦肾病治疗:血液灌流器及相关生产企业详解 - 品牌2026
  • 天虹购物卡回收价格,行情观察与流通渠道调查 - 京回收小程序
  • 详细介绍:Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解
  • 导师严选 9个降AIGC软件:自考降AI率全维度测评与推荐
  • 2026 军用测绘成像无人机集群软硬一体化供应商推荐,猎翼无人机建模赋能,构建战场数字实景 - 品牌2026
  • 文革老物件上门回收,北京记录者商行专业鉴定,高价收购 - 品牌排行榜单
  • 饲料水分测定仪公司靠谱推荐,助你选出好用的产品 - 工业推荐榜
  • 2026年新疆乡村民宿设计权威品牌推荐,民宿设计服务怎么联系看这里 - myqiye
  • 碎片化畅玩无压力!2026热门免费好玩的二次元漫改动作游戏推荐排行 休闲向榜单 休闲养成/碎片化游玩/轻松护肝 - 极欧测评
  • 2026年财务外包趋势:三大方向引领行业未来 - 速递信息
  • 2026室内潮玩运动馆厂费用排名,对比团队专业和售后好的厂家 - 工业推荐榜
  • 从 99.8% 到 14.9%:paperzz 如何破解知网 / 维普严苛版 AIGC 检测,让论文安全通关毕业
  • 2026实验室排风公司深度解析:迅领实验室如何以全链条能力重塑实验台、通风柜与装修改造新标准 - 深度智识库
  • 2026年3月不锈钢安装厂家推荐,专业制造与品牌保障口碑之选 - 品牌鉴赏师
  • 2026年3月西安正规心理咨询机构推荐:行业测评与选择指南 - 品牌鉴赏师
  • 多账套数据合并太痛苦?我们用一套轻量级同步方案,让财务自助取数
  • STM32F407VET6 开发板 与VGT6有区别
  • 2026 血液净化领域:尿毒症毒素清除耗材主流供应商推荐 - 品牌2026
  • 2026年3月西安青年心理咨询机构最新推荐,成长困惑专业解答 - 品牌鉴赏师
  • 肖特基二极管在dc-dc电路的作用
  • 2026 军用侦察成像无人机蜂群系统供应商推荐,猎翼无人机智能建模,提升战场掌控力 - 品牌2026
  • 2026 年 2 月河北墓碑/墓碑设计加工与制作/墓区规划设计/石制品加工/园林雕塑/石雕/墓碑石材/石牌坊/石栏杆企业选购指南:品质、工艺与服务优选推荐 - 2026年企业推荐榜
  • 2026年北京婚内财产协议律师电话查询推荐:精选推荐与使用指南 - 品牌推荐
  • 2026尿毒症治疗:灌流耗材品牌推荐 - 品牌2026
  • Windows11添加系统环境变量
  • 2026年3月信州区门窗店推荐,专业制造与品牌保障口碑之选 - 品牌鉴赏师
  • [agent] Multi-model Agents