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