Skip to main content
本指南概述了LangGraph v1的变更以及如何从旧版本迁移。有关新功能的概述,请参阅发布说明 升级,
npm install @langchain/langgraph@latest @langchain/core@latest

变更总结

区域变化内容
React 预构建createReactAgent 已弃用;使用 LangChain createAgent
中断通过 interrupts 配置支持类型化中断
toLangGraphEventStream 已移除使用 graph.stream 并以所需的 encoding 格式
useStream支持自定义传输

弃用: createReactAgentcreateAgent

LangGraph v1 废弃了 createReactAgent 预构建版本。请使用 LangChain 的 createAgent,它运行在 LangGraph 上并添加了一个灵活的中间件系统。 查看LangChain v1文档以获取详细信息:
import { createAgent } from "langchain";

const agent = createAgent({
  model,
  tools,
  systemPrompt: "You are a helpful assistant.", 
});

类型中断

您现在可以在图构建时定义中断类型,以严格指定传递给中断和从中断接收的值。
import { StateGraph, interrupt } from "@langchain/langgraph";
import * as z from "zod";

const State = z.object({ foo: z.string() });

const graphConfig = {
  interrupts: {
    approve: interrupt<{ reason: string }, { messages: string[] }>(),
  },
}

const graph = new StateGraph(State, graphConfig)
  .addNode("node", async (state, runtime) => {
    const value = runtime.interrupt.approve({ reason: "review" }); 
    return { foo: value };
  })
  .compile();
查看 中断 了解更多信息。

事件流编码

低级别的 toLangGraphEventStream 辅助函数已被移除。流式响应由 SDK 处理;当使用低级别客户端时,通过传递给 graph.streamencoding 选项选择线缆格式。
const stream = await graph.stream(input, {
  encoding: "text/event-stream",
  streamMode: ["values", "messages"],
});

return new Response(stream, {
  headers: { "Content-Type": "text/event-stream" }, 
});

破坏性变更

丢弃 Node 18 支持

所有 LangGraph 包现在都需要 Node.js 20 或更高版本。Node.js 18 于 2025 年 3 月达到 生命周期的结束

新构建输出

现在构建所有 langgraph 包都使用基于打包器的方案,而不是使用原始的 TypeScript 输出。如果您之前是从 dist/ 目录导入文件(这不被推荐),您需要更新您的导入以使用新的模块系统。