Skip to content

LangGraph v1 是一个专注于稳定性的智能体运行时版本。 它保持了核心的图 API 和执行模型不变,同时改进了类型安全性、文档和开发者体验。

它旨在与 LangChain v1(其 createAgent 构建于 LangGraph 之上)无缝协作,因此您可以快速上手,并在需要时深入进行细粒度控制。

要升级,请执行:

bash
npm install @langchain/langgraph @langchain/core
bash
pnpm add @langchain/langgraph @langchain/core
bash
yarn add @langchain/langgraph @langchain/core
bash
bun add @langchain/langgraph @langchain/core

有关完整的变更列表,请参阅 迁移指南

createReactAgent 的弃用

LangGraph 的预构建 createReactAgent 已被弃用,转而推荐使用 LangChain 的 createAgent。后者提供了更简单的接口,并通过引入中间件提供了更大的自定义潜力。

类型化的中断(Typed interrupts)

StateGraph 现在在构造函数中接受一个中断类型映射,以便更严格地约束图中可使用的中断类型。

expandable
typescript
import { StateGraph, MemorySaver, interrupt } from "@langchain/langgraph";
import * as z from "zod";

const stateSchema = z.object({
  foo: z.string(),
})

const graphConfig = {
  interrupts: {
    // 定义一个简单中断,接受原因并返回消息
    simple: interrupt<{ reason: string }, { messages: string[] }>, 
    // 定义一个具有相同签名的复杂中断
    complex: interrupt<{ reason: string }, { messages: string[] }>, 
  }
}

const checkpointer = new MemorySaver();

const graph = new StateGraph(stateSchema, graphConfig)
  .addNode("node", async (state, runtime) => {
    // 触发简单中断并附带原因
    const response = runtime.interrupt.simple({ reason: "test" });
    // 将中断响应作为新状态返回
    return { foo: response };
  })
  // 使用检查点器编译图
  .compile({ checkpointer });

// 使用初始状态调用图
const result = await graph.invoke({ foo: "test" });

// 访问中断数据
if (graph.isInterrupted(result)) {
  console.log(result.__interrupt__.messages);
}

有关中断的更多信息,请参阅 中断 文档。

前端 SDK 增强

LangGraph v1 在前端与 LangGraph 应用程序交互方面带来了一些增强。

事件流编码

底层的 toLangGraphEventStream 辅助函数已被移除。流式响应现在由 SDK 原生处理,您可以通过向 graph.stream 传入 encoding 格式来选择传输格式。这使得在 SSE 和普通 JSON 响应之间切换变得简单,而无需更改 UI 逻辑。

更多信息请参阅 迁移指南

useStream 中的自定义传输器

React 的 useStream 钩子现在支持可插拔的传输器,因此您可以在不更改 UI 代码的情况下更好地控制网络层。

typescript
const stream = useStream({
  transport: new FetchStreamTransport({
    apiUrl: "http://localhost:2024",
  }),
});

了解如何集成和自定义此钩子:将 LangGraph 集成到您的 React 应用程序中

报告问题

请在 GitHub 上使用 'v1' 标签 报告在 1.0 版本中发现的任何问题。

其他资源

另请参阅

LangChain 中文文档