LangGraph 发展历程
LangGraph 发展历程
随着 LangGraph.js 的不断演进和完善,有时需要进行破坏性变更以增强功能、提升性能或改善开发者体验。本页面作为 LangGraph.js 版本历史的指南,记录重要变更并提供版本升级帮助。
版本历史
v0.4.x(最新)
- (破坏性变更)清理
Interrupt接口:移除when、ns,改为使用id和values。 - (破坏性变更)从检查点中移除
writes。您需要升级检查点包。 - (破坏性变更)允许从检查点异步序列化和反序列化值。
- (破坏性变更)移除未使用的 SharedValue 和托管值支持。
- 改进可配置字段(0.4.0)和
streamMode: "updates"(0.4.4)的类型推断。 - 添加对
context属性和Runtime类型的支持。 - 在检查点中添加对
deleteThread的支持。 - 添加对
durability属性的支持,取代checkpointDuring。 - 在
createReactAgent中添加对动态模型选择的支持(0.4.3)。 - 在
createReactAgent["postModelHook"]中添加对部分应用工具调用的支持(0.4.3)。 - 大量错误修复。
v0.3.0
- (破坏性变更)中断现在在
"values"流模式和.invoke()中正确传播。 - (破坏性变更)
.stream()的返回类型现在具有严格类型。 - 添加对节点/任务缓存的支持。
- 添加对延迟节点的支持。
- 在
createReactAgent中添加对preModelHook和postModelHook的支持。 - 添加对
addSequence和addNode的简写对象语法的支持。 - 添加
pushMessage()方法以允许手动向"messages"流模式推送消息。 - 添加
isInterrupted()方法以检查状态是否包含中断。 - 大量错误修复。
v0.2.0
- (破坏性变更)
@langchain/core现在是 peer dependency,需要显式安装。 - 添加对动态断点的支持。
- 添加对独立的输入和输出模式的支持。
- 允许使用数组指定条件边的目标节点,作为对象的简写形式。
- 大量错误修复。
v0.1.0
- (破坏性变更)更改检查点表示以支持子图的命名空间和待处理写入。
- (破坏性变更)
MessagesState更改为MessagesAnnotation。 - 添加
Annotation,一种更简洁的状态声明方式。无需单独的类型和通道声明。 - 将检查点实现拆分到不同的库中,以便更容易继承。
- 重大内部架构重构,使用更健壮的模式。
- 弃用
MessageGraph,改用StateGraph+MessagesAnnotation。 - 大量错误修复。
升级指南
升级 LangGraph.js 时,请参阅以下特定版本部分,了解如何使代码适应最新变更的详细说明。
升级到 v0.3.0
- 如果节点被中断,它现在将出现在
"values"流模式和.invoke()的__interrupts键下。您可以使用isInterrupted()方法检查状态是否包含中断并适当处理。 .stream()的返回类型不再是IterableReadableStream<any>,这意味着您可能需要修复任何类型错误。
升级到 v0.2.0
- 您现在需要显式安装
@langchain/core。更多信息请参见此页面。
升级到 v0.1.0
- 旧的已保存检查点将不再有效,您需要更新以使用新的预构建检查点。
- 我们建议在声明图状态时使用新的
Annotation语法。
弃用通知
本节将列出任何已弃用的功能或 API,以及计划移除日期和推荐的替代方案。
MessageGraph
使用 MessagesAnnotation 配合 StateGraph。
createFunctionCallingExecutor
使用支持工具调用的模型的 createReactAgent。
ToolExecutor
改用 ToolNode。