Skip to main content
Agent Server 使用检查点后端来持久化图状态。默认情况下,LangSmith 将检查点与其他服务器数据一起存储在 PostgreSQL 中。您可以切换到 MongoDB 或提供自定义实现。
无论使用哪种检查点后端,LangSmith 始终需要 PostgreSQL 来存储线程、运行记录、助手、定时任务以及内存存储。检查点后端仅控制检查点数据的存储位置。

可用后端

后端存储配置使用场景
defaultPostgreSQL无需配置(内置)标准部署
mongoMongoDBlanggraph.jsonLS_DEFAULT_CHECKPOINTER_BACKEND 环境变量已有 MongoDB 基础设施的团队
custom用户提供langgraph.json自定义存储后端(参见自定义检查点

默认(PostgreSQL)

PostgreSQL 是默认的检查点后端。无需额外配置。要使用自定义 PostgreSQL 实例,请设置 POSTGRES_URI_CUSTOM 环境变量。

设置 MongoDB 检查点

需要 Agent Server v0.7.64 或更高版本。

先决条件

  • 一个 MongoDB 副本集(不支持独立的 mongod)。可以是自管理的副本集、mongos 路由器或托管服务(如 MongoDB Atlas)。
  • 一个在路径中包含数据库名称的连接 URI(例如 /langgraph)。

选择后端

通过以下方法之一将后端设置为 "mongo" langgraph.json(应用级别——与您的应用程序代码捆绑):
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "checkpointer": {
    "backend": "mongo",
    "ttl": {
      "strategy": "delete",
      "default_ttl": 43200,
      "sweep_interval_minutes": 10
    }
  }
}
通过环境变量(平台级别——适用于管理独立部署的操作员):
LS_DEFAULT_CHECKPOINTER_BACKEND=mongo
环境变量为未在 langgraph.json 中指定后端的代理服务器设置默认后端。如果 langgraph.json 包含了 backend 值,则其优先级更高。

提供 MongoDB URI

在部署时设置 LS_MONGODB_URI 环境变量:
LS_MONGODB_URI="mongodb://user:password@host:27017/langgraph?replicaSet=rs0"

连接 URI 要求

URI 必须:
  • 指向副本集成员或 mongos 路由器
  • 在路径中包含目标数据库名称
有效示例:
mongodb://user:password@host:27017/langgraph?replicaSet=rs0
mongodb://host1:27017,host2:27017,host3:27017/mydb?replicaSet=prod-rs
mongodb+srv://user:password@cluster.example.net/langgraph

按环境部署

langgraph-cloud Helm chart(v0.2.6+)内置了 MongoDB 支持。在您的 values 文件中启用它:捆绑的 MongoDB(开发和测试):
mongo:
  enabled: true
  resources:
    requests:
      cpu: 500m
      memory: 1Gi
  persistence:
    size: 8Gi
该 chart 会部署一个单节点 MongoDB 副本集,并自动配置服务器使用它。外部 MongoDB(生产环境):
mongo:
  enabled: true
  external:
    enabled: true
    connectionUrl: "mongodb://user:password@mongo.example.net:27017/langgraph?replicaSet=rs0"
或者引用现有的 Kubernetes secret:
mongo:
  enabled: true
  external:
    enabled: true
    existingSecretName: "my-mongo-secret"
secret 必须包含一个 mongodb_connection_url 键。

自定义检查点

要使用 PostgreSQL 或 MongoDB 之外的存储后端,请实现自定义的 BaseCheckpointSaver。有关详细信息,请参阅添加自定义检查点

相关链接