根据 LangChain 博客,LangChain 宣布稳定发布 LangGraph v0.2,这次更新引入了新的检查点器库。这些库旨在简化检查点器的创建和定制,从而增强大型语言模型 (LLM) 应用的弹性和功能。
为什么开发 LangGraph v0.2
LangGraph 的核心功能是其内置的持久层,通过检查点器实现。这些检查点器在每一步保存图的状态,使其具有会话记忆、错误恢复、人类参与功能和时间旅行等能力。自成立以来,LangGraph 的设计就与数据库无关,允许用户实现自己的检查点器适配器。
然而,对于用户如何为 Postgres、Redis 和 MongoDB 等流行数据库创建定制检查点器,并没有明确的蓝图。LangGraph v0.2 通过提供专用的检查点器库解决了这个问题。
LangGraph v0.2 中的新检查点器库
新版本包括一套检查点器库,使创建和定制检查点器变得更加容易:
langgraph_checkpoint
:检查点器保存和序列化/反序列化的基本接口。langgraph_checkpoint_sqlite
:基于 SQLite 的检查点器,适合本地工作流和实验。langgraph_checkpoint_postgres
:为生产环境优化的 Postgres 检查点器,现已开源供社区使用。
这些实现可以互换使用,允许用户根据他们的具体需求定制他们的应用。
用于生产的 LangGraph Postgres 检查点器
langgraph_checkpoint_postgres
实现为创建优化的、生产准备好的检查点器提供了蓝图。它包括一些优化,例如使用 Postgres 管道模式减少数据库往返,并分别存储每个通道值以最小化存储需求。
开始使用 LangGraph v0.2
要开始使用,用户可以导入必要的检查点接口和实现:
from langgraph.checkpoint.base import BaseCheckpointSaver
from langgraph.checkpoint.memory import MemorySaver
from langgraph.checkpoint.sqlite import SqliteSaver
from langgraph.checkpoint.postgres import PostgresSaver
SQLite 和 Postgres 检查点器需要通过 pip install langgraph-checkpoint-sqlite
和 pip install langgraph-checkpoint-postgres
分别安装。LangGraph 检查点库遵循语义版本控制,确保主库中的重大更改会导致相应的检查点库主要版本更新。
使用 LangGraph Cloud 扩展运行代理
LangGraph v0.2 还引入了 LangGraph Cloud,这是一个用于大规模部署代理的运行环境。LangGraph Cloud 管理任务队列、服务器,并包括强大的 Postgres 检查点器来处理并发用户和大数据状态。它支持实世界中的交互模式,如双消息、异步后台作业和定时任务。
LangGraph Studio 是一个用于可视化和调试代理轨迹的桌面应用,现在对所有 LangSmith 用户开放。LangGraph Cloud 目前处于 Plus 和 Enterprise 计划用户的公开测试阶段。
LangGraph v0.2 的其他更改
最新版本还包括几处重大更改和弃用:
重大更改
- 将
thread_ts
和parent_ts
重命名为checkpoint_id
和parent_checkpoint_id
。 - 由于使用命名空间包,重新导出导入已不可用。
- SQLite 检查点器已移至单独的库。
弃用项
- 移除
langgraph.prebuilt.chat_agent_executor.create_function_calling_executor
。 - 移除
langgraph.prebuilt.agent_executor
。
结论
LangChain 对其社区的反馈和支持表示感谢。通过 LangGraph v0.2,用户可以期待更容易定制和维护检查点器实现,开创更具有弹性和更丰富功能的 LLM 应用。
Image source: Shutterstock