Skip to main content
LangGraph v1 是一个以稳定性为重点的智能体运行时版本。 它保持了核心图API和执行模型不变,同时优化了类型安全、文档和开发者易用性。 它旨在与 LangChain v1(其 createAgent 基于 LangGraph 构建)协同工作,这样您可以从高级开始,并在需要时降低到细粒度控制。

Stable core APIs

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

Reliability, by default

具有检查点、持久化、流式传输和人工干预的持久执行继续作为一等特性。

Seamless with LangChain v1

LangChain的createAgent在LangGraph上运行。使用LangChain快速入门;降级到LangGraph进行自定义编排。
升级,
npm install @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: {
    // Define a simple interrupt that accepts a reason and returns messages
    simple: interrupt<{ reason: string }, { messages: string[] }>, 
    // Define a complex interrupt with the same signature
    complex: interrupt<{ reason: string }, { messages: string[] }>, 
  }
}

const checkpointer = new MemorySaver();

const graph = new StateGraph(stateSchema, graphConfig)
  .addNode("node", async (state, runtime) => {
    // Trigger the simple interrupt with a reason
    const response = runtime.interrupt.simple({ reason: "test" });
    // Return the interrupt response as the new state
    return { foo: response };
  })
  // Compile the graph with the checkpointer
  .compile({ checkpointer });

// Invoke the graph with initial state
const result = await graph.invoke({ foo: "test" });

// Access the interrupt data
if (graph.isInterrupted(result)) {
  console.log(result.__interrupt__.messages);
}
有关中断的更多信息,请参阅中断文档。

前端 SDK 增强功能

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

事件流编码

低级的 toLangGraphEventStream 辅助函数已被移除。现在 SDK 本地处理流式响应,您可以通过将 encoding 格式传递给 graph.stream 来选择线缆格式。这使得在 SSE 和正常 JSON 响应之间切换变得简单,无需更改 UI 逻辑。 查看迁移指南获取更多信息。

useStream 中的自定义传输

React useStream 钩子现在支持可插拔的传输方式,这样您就可以在不更改 UI 代码的情况下对网络层有更多的控制。
const stream = useStream({
  transport: new FetchStreamTransport({
    apiUrl: "http://localhost:2024",
  }),
});
学习如何集成和自定义钩子:将 LangGraph 集成到您的 React 应用程序中

报告问题

请使用GitHub报告在1.0版本中发现的所有问题,并使用 'v1' 标签

其他资源

LangGraph 1.0

阅读公告

Overview

LangGraph是什么以及何时使用它

Graph API

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

LangChain Agents

基于LangGraph构建的高级智能体

Migration guide

如何迁移到LangGraph v1

GitHub

报告问题或贡献

参见