跳到内容

LangGraph 演进历程

随着 LangGraph.js 的不断演进和改进,有时为了增强功能、性能或开发者体验,需要引入重大更改。本页面旨在作为 LangGraph.js 版本历史的指南,记录了重要的更改,并提供了版本间升级的帮助。

版本历史

v0.3.0(最新)

  • (重大更改)中断现在可以在 "values" 流模式和 .invoke() 中正确传播。
  • (重大更改).stream() 的返回类型现在已严格类型化。
  • 增加了对 节点/任务缓存的支持。
  • 增加了对 延迟节点的支持。
  • 增加了对 createReactAgentpreModelHookpostModelHook 的支持。
  • 增加了对 addSequenceaddNode 的简写对象语法的支持。
  • 增加了 pushMessage() 方法,允许手动将消息推送到 "messages" 流模式。
  • 增加了 isInterrupted() 方法,用于检查状态是否包含中断。
  • 修复了大量错误。

v0.2.0

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

完整更新日志

有关 LangGraph.js 版本和更改的最新信息,请参阅我们的 GitHub 仓库发布说明