Skip to main content
LangGraph v1 是一个专注于稳定性的代理运行时版本。 它保持核心图 API 和执行模型不变,同时改进了类型安全性、文档和开发者体验。 它旨在与 LangChain v1(其 createAgent 基于 LangGraph 构建)协同工作,因此您可以从高级功能开始,并在需要时深入到细粒度控制。

稳定的核心 API

图原语(状态、节点、边)和执行/运行时模型保持不变,使升级变得简单直接。

默认可靠性

具有检查点、持久化、流式处理和Human in the Loop的持久执行仍然是首要特性。

与 LangChain v1 无缝集成

LangChain 的 createAgent 运行在 LangGraph 上。使用 LangChain 快速启动;使用 LangGraph 进行自定义编排。
要升级,
bash npm npm install @langchain/langgraph @langchain/core bash pnpm pnpm add @langchain/langgraph @langchain/core bash yarn yarn add @langchain/langgraph @langchain/core bash bun bun add @langchain/langgraph @langchain/core
有关完整的更改列表,请参阅迁移指南

createReactAgent 已弃用

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

类型化中断

StateGraph 现在在构造函数中接受一个中断类型映射,以更严格地约束可在图中使用的中断类型。
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 代码的情况下对网络层有更多控制。
const stream = useStream({
  transport: new FetchStreamTransport({
    apiUrl: "http://localhost:2024",
  }),
});
了解如何集成和自定义钩子:将 LangGraph 集成到您的 React 应用程序中

报告问题

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

附加资源

LangGraph 1.0

阅读公告

概述

LangGraph 是什么以及何时使用它

图 API

使用状态、节点和边构建图

LangChain 代理

基于 LangGraph 构建的高级代理

迁移指南

如何迁移到 LangGraph v1

GitHub

报告问题或贡献

另请参阅