LangGraph 的演变¶
随着 LangGraph.js 不断演进和改进,为了增强功能、性能或开发者体验,有时需要引入破坏性变更。本页面旨在作为 LangGraph.js 版本历史的指南,记录了重大变化并提供了版本升级的帮助。
版本历史¶
v0.3.0 (最新)¶
- (破坏性变更) 中断现在可以在
"values"
流模式和.invoke()
中正确传播。 - (破坏性变更)
.stream()
的返回类型现在已严格类型化。 - 增加了对 节点/任务缓存 的支持。
- 增加了对 延迟节点 的支持。
- 在
createReactAgent
中增加了对preModelHook
和postModelHook
的支持。 - 增加了对
addSequence
和addNode
的简写对象语法的支持。 - 增加了
pushMessage()
方法,允许手动将消息推送到"messages"
流模式。 - 增加了
isInterrupted()
方法,用于检查状态是否包含中断。 - 修复了多项错误。
v0.2.0¶
- (破坏性变更)
@langchain/core
现在是一个对等依赖项,需要显式安装。 - 增加了对 动态断点 的支持。
- 增加了对 单独输入和输出模式 的支持。
- 允许使用数组来指定条件边的目标节点,作为对象的简写形式。
- 修复了多项错误。
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
。