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 中文文档