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。