为 LangGraph 代理启用状态持久化

为 LangGraph 代理启用基于检查点的状态持久化。 请在代理的 YAML 文件中使用 字段 checkpointer 配置持久化。

checkpointer 字段部分

checkpointer 字段”部分为可选项,可实现对话轮次间的状态持久化。 如果省略此选项,您的代理将以无状态模式运行。

检查点类型

在指定字段 checkpointer 部分时,您可以通过以下选项配置检查点:

  • checkpointer.type

    应使用的检查点器类型:

    • memory - 用于开发和测试的内存存储。 重启后状态丢失。
      • 用例: 开发、测试、临时会话
      • 要求:
      • 持久化: 代理重启后丢失
    • sqlite - 使用 SQLite 实现基于文件的持久化。 代理 pod 重启时会丢失状态。
      • 用例: 单实例部署、测试
      • 要求: 添加 langgraph-checkpoint-sqliterequirements.txt
      • 持久性: 在 pod 重启时丢失
    • postgres - 生产环境中使用 PostgreSQL 实现数据库持久化。
      • 用例: 需要持久化状态的生产环境部署
      • 要求: 添加 langgraph-checkpoint-postgresrequirements.txt
      • 持久性: 重启后仍可保留
      • 其他配置: 需要 connection_string_key
  • checkpointer.connection_string_key

    如果使用该 postgres 类型,则此字段为必填项。 包含 PostgreSQL 数据库连接字符串的连接的App ID。

PostgreSQL 数据库持久化的配置步骤

  1. 使用凭据类型建立连接 api_key
  2. 请将您的 PostgreSQL 连接字符串作为 API 密钥的值提供
  3. 将连接的 App ID 作为 connection_string_key
  4. 在代理导入过程中选择此连接

该系统会在运行时自动管理数据库连接和模式配置。

示例配置

带 Postgres Checkpointer 的代理

spec_version: v1
kind: agent
name: stateful_agent
title: Stateful Support Agent
description: Agent with persistent state using PostgreSQL
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: postgres
  connection_string_key: postgres_db

requirements.txt:

langgraph>=0.6.0
langchain-core>=0.3.0
langgraph-checkpoint-postgres
注: LangGraph 版本
  • 最低版本: LangGraph ^ 0.6.0

请确保您的 LangGraph 代理程序是使用 0.6.0 或更高版本构建的,该版本包含原生异步流式传输支持。

在此示例中, postgres_db 是连接的 App ID,您必须在导入前创建该连接。 此连接必须具有凭据类型 api_key ,并包含您的 PostgreSQL 数据库连接字符串。 您需在导入过程中选择此连接。

使用 SQLite 检查点的代理

spec_version: v1
kind: agent
name: sqlite_agent
title: SQLite Stateful Agent
description: Agent with SQLite state persistence
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: sqlite

requirements.txt:

langgraph>=0.2.0
langchain-core>=0.3.0
langgraph-checkpoint-sqlite

具有内存检查点的代理

spec_version: v1
kind: agent
name: dev_agent
title: Development Agent
description: Agent with in-memory state for testing
deployment:
  code_bundle:
    entrypoint: agent:create_agent
checkpointer:
  type: memory

除了 LangGraph 的基础要求外,内存检查点器无需任何额外依赖项。

下一步操作