跳到主要内容
先决条件 本指南假设您熟悉 LangSmith持久性跨线程持久性概念。
LangSmith 会持久化检查点(线程状态)和跨线程内存(存储项)。在 langgraph.json 中配置生存时间 (TTL) 策略,以自动管理此数据的生命周期,防止无限期累积。

配置检查点 TTL

检查点捕获会话线程的状态。设置 TTL 可确保旧检查点和线程自动删除。 checkpointer.ttl 配置添加到您的 langgraph.json 文件中:
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "checkpointer": {
    "ttl": {
      "strategy": "delete",
      "sweep_interval_minutes": 60,
      "default_ttl": 43200
    }
  }
}
  • strategy:指定过期时执行的操作。目前仅支持 "delete",它会在过期时删除线程中的所有检查点。
  • sweep_interval_minutes:定义系统检查过期检查点的频率(以分钟为单位)。
  • default_ttl:设置线程(及相应检查点)的默认生命周期(以分钟为单位,例如 43200 分钟 = 30 天)。仅适用于在此配置部署后创建的检查点;现有检查点/线程不会更改。要清除旧数据,请显式删除它。

配置存储项 TTL

存储项允许跨线程数据持久化。配置存储项的 TTL 有助于通过删除陈旧数据来管理内存。 store.ttl 配置添加到您的 langgraph.json 文件中:
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "store": {
    "ttl": {
      "refresh_on_read": true,
      "sweep_interval_minutes": 120,
      "default_ttl": 10080
    }
  }
}
  • refresh_on_read:(可选,默认 true)如果为 true,通过 getsearch 访问项会重置其过期计时器。如果为 false,TTL 仅在 put 时刷新。
  • sweep_interval_minutes:(可选)定义系统检查过期项的频率(以分钟为单位)。如果省略,则不进行清理。
  • default_ttl:(可选)设置存储项的默认生命周期(以分钟为单位,例如 10080 分钟 = 7 天)。仅适用于在此配置部署后创建的项;现有项不会更改。如果您需要清除旧项,请手动删除它们。如果省略,项默认不会过期。

结合 TTL 配置

您可以在同一个 langgraph.json 文件中同时配置检查点和存储项的 TTL,为每种数据类型设置不同的策略。下面是一个示例
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "checkpointer": {
    "ttl": {
      "strategy": "delete",
      "sweep_interval_minutes": 60,
      "default_ttl": 43200
    }
  },
  "store": {
    "ttl": {
      "refresh_on_read": true,
      "sweep_interval_minutes": 120,
      "default_ttl": 10080
    }
  }
}

运行时覆盖

langgraph.json 中的默认 store.ttl 设置可以在运行时通过在 getputsearch 等 SDK 方法调用中提供特定的 TTL 值来覆盖。

部署过程

langgraph.json 中配置 TTL 后,部署或重新启动您的 LangGraph 应用程序以使更改生效。使用 langgraph dev 进行本地开发,或使用 langgraph up 进行 Docker 部署。 有关其他可配置选项的更多详细信息,请参阅 langgraph.json CLI 参考
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.