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

LangGraph 核心数据概念:State、Config、Store;

LangGraph 核心数据概念:State、Config、Store;

官方文档比较混乱,我让ai整理了一下,它们职责清晰、互不重叠,共同构成了LangGraph的数据层。

理解这三个概念是掌握 LangGraph 持久化机制的关键。

State(短期记忆)

定义
State 是图在单次执行过程中流转的业务数据,由 Checkpointer 在每个 super-step(最小调度单元) 结束时自动保存为 StateSnapshot。

class RagChatState(TypedDict):messages: Annotated[list, add_messages] 

作用域
单个Thread内。

graph.invoke() 触发└── super-step 1 → Checkpoint 保存 State└── super-step 2 → Checkpoint 保存 State└── ...└── 同一 thread_id 下次调用 → 自动恢复最新 State

Checkpointer 配置

from langgraph.checkpoint.memory import InMemorySaver       # 开发用
from langgraph.checkpoint.postgres import PostgresSaver     # 生产用
checkpointer = PostgresSaver.from_conn_string("postgresql://...")
graph = builder.compile(checkpointer=checkpointer)

读取历史状态(时间旅行)

config = {"configurable": {"thread_id": "abc123"}}# 获取最新状态
snapshot = graph.get_state(config)

Config(执行配置)

定义
RunnableConfig 是每次调用 graph.invoke() 时传入的执行控制参数,不会被持久化,每次调用都需要重新传入。
标准结构

config = {"configurable": {"thread_id": "abc123",          # 指定使用哪个 Thread(必填,开启持久化时)"checkpoint_id": "xxx",         # 从指定 checkpoint 恢复(可选,用于时间旅行)"user_id": "u_001",             # 自定义字段:用于在节点内定位用户"top_k": 5,                     # 自定义字段:控制检索行为的开关},"recursion_limit": 25,              # 最大递归深度(默认 25)"callbacks": [...],                 # LangSmith 追踪等回调"tags": ["prod", "rag"],            # 追踪标签"metadata": {"env": "production"},  # 日志/追踪元数据(不用于业务逻辑)
}

作用域
单次invoke

Store(长期记忆)

定义
Store 是 LangGraph 原生的跨 Thread 持久化文档存储,用于保存需要在多次对话间共享的信息。官方定位为 Long-term memory。

Store与State的核心区别
State → 绑定到某个 thread_id,对话结束后只能通过该 thread 访问
Store → 全局共享,任何 thread 都可以读写,天然适合用户级数据

Store 配置

from langgraph.store.memory import InMemoryStore       # 开发用
from langgraph.store.postgres import PostgresStore     # 生产用store = PostgresStore.from_conn_string("postgresql://...")
graph = builder.compile(checkpointer=checkpointer, store=store)
http://www.jsqmd.com/news/693576/

相关文章:

  • Office Custom UI Editor终极指南:免费打造专属Office界面,提升办公效率300%
  • 2026年四川沟盖板厂家优选 覆盖市政基建新能源工程适配需求 聚焦承重耐用性 - 深度智识库
  • 2026Q2徐州财税公司推荐|本土深耕赋能 与企业共生共成长 - 品牌智鉴榜
  • 2026年Q2最新叉车厂家全国排名推荐:权威推荐TOP5 - 安互工业信息
  • 2026Q2 忻州财税公司推荐资质合规 代理记账工商注册口碑佳 - 品牌智鉴榜
  • 2026年近期重庆聚餐优选:探访口碑大排档的味觉与体验 - 2026年企业推荐榜
  • 【嵌入式】轻量级命令行交互实战:nr_micro_shell在资源受限MCU上的移植与优化
  • PyTorch实战:从零构建CNN模型实现MNIST分类
  • STM32启动模式背后的硬件秘密:从复位向量到首条指令的完整旅程
  • Midscene性能调优实战:从卡顿到流畅的自动化体验
  • 2026 台州创业必看:靠谱财税公司推荐,代账避坑指南 - 品牌智鉴榜
  • 255Mesh LoRa模块实战:从零搭建低功耗传感网络
  • 2026年4月渝北区聚餐优选:老镇传承菜【悦来店】为何脱颖而出? - 2026年企业推荐榜
  • 淮安创帆制冷设备:口碑好的苏州蔬菜冷库安装公司 - LYL仔仔
  • Halcon灰度投影实战:用‘simple’和‘rectangle’模式搞定二维码粗定位
  • 推测式解码技术:大模型推理加速的核心方案
  • 2026国内垃圾分拣设备硬核测评:当AI“神话”遇上15年“重器”沉淀 - 新闻快传
  • 上海留学机构选择避坑要点
  • 别再踩坑了!微信H5多图上传的终极解决方案(兼容安卓/iOS,附完整代码)
  • 2026年近期陕西二手车市场口碑与服务深度测评:严选专家如何破局? - 2026年企业推荐榜
  • BsMax深度解析:Blender插件架构与3ds Max工作流迁移的技术实现
  • 武汉擎天仕劳务:武汉吊车租赁公司哪家值得信赖 - LYL仔仔
  • LangChain框架-基础
  • 光流估计中的“金字塔”魔法:拆解PWC-Net三大核心模块(含PyTorch/TensorFlow代码对比)
  • 2026年降AI踩了5次坑后,我总结出这套不翻车的完整流程
  • 2026年嘉兴短视频代运营:制造业工厂全案获客与全网推广深度横评 - 优质企业观察收录
  • 在Ubuntu 20.04/ROS Noetic上搞定Rotors Simulator:从源码编译到第一个悬停仿真(附常见编译错误解决)
  • 让你的ThinkBook 14+在Ubuntu下火力全开:加装AX210网卡、升级1T固态与指纹模块实战
  • 上海留学机构选择不踩坑技巧
  • Qwen3.5-4B-AWQ实操手册:WebUI界面导出对话历史+JSON格式保存