将 Agent 部署到 LangSmith 时,服务器会提供一个基于 Postgres 的内置检查点保存器,用于处理跨图运行的状态持久化。你可以使用自己的 BaseCheckpointSaver 实现来替换它,从而使用其他存储后端。 你需要提供一个异步上下文管理器的路径,该管理器会生成一个 BaseCheckpointSaver 实例,服务器会自动管理其生命周期。
自定义检查点保存器目前处于 Alpha 阶段。此功能可能会在小版本更新中发生破坏性变更。
如果你想使用 MongoDB 而不是 PostgreSQL 来存储检查点,请参阅配置检查点保存器后端。本页面介绍的是如何实现完全自定义的存储后端。

定义检查点保存器

从一个现有的 LangSmith 应用开始,创建一个文件,用于定义生成自定义检查点保存器的异步上下文管理器。如果你要开始一个新项目,可以使用 CLI 根据模板创建应用。
异步上下文管理器模式可以让服务器在应用生命周期中的适当时间打开和关闭数据库连接:

根据一致性测试套件进行测试

大多数开源检查点保存器实现目前还没有实现 Agent Server 所需的全部操作。在配置检查点保存器之前,请根据一致性测试套件对其进行验证,以确保兼容性。 安装软件包:
注册检查点保存器并运行验证:
该套件会自动检测你的检查点保存器实现了哪些扩展能力,并运行相应的测试。你也可以将其作为 pytest 测试运行:
如需查看该套件验证的全部基础操作和扩展操作,请参阅能力部分。

配置 langgraph.json

将 checkpointer 键添加到你的 langgraph.json 配置文件中。path 指向你之前定义的异步上下文管理器。

启动服务器

在本地测试服务器:
服务器日志会确认你的自定义检查点保存器已处于启用状态。

能力

服务器启动时会检查你的检查点保存器是否具备基础(必需)和扩展(可选)能力。如果缺少某项扩展能力,服务器会使用回退方案,或禁用相应功能。

基础能力(必需)

扩展能力(可选)

部署

你可以将此应用直接部署到 LangSmith 或自己的托管平台。

后续步骤