LangGraph v1 是一个专注于稳定性的智能体运行时版本。 它保持核心图 API 和执行模型不变,同时改进类型安全、文档和开发者体验。
它旨在与 LangChain v1 (其 createAgent 基于 LangGraph 构建)配合使用,因此您可以从高层开始,在需要时深入到细粒度控制。
Stable core APIs
Graph primitives (state, nodes, edges) and the execution/runtime model are unchanged, making upgrades straightforward.
Reliability, by default
持久化执行(包含检查点、持久化、流式输出和人机交互)继续作为核心功能。
Seamless with LangChain v1
LangChain 的 createAgent 运行在 LangGraph 之上。使用 LangChain 快速上手;在需要自定义编排时深入到 LangGraph。
升级方法,
npm install @langchain/langgraph @langchain/core
pnpm add @langchain/langgraph @langchain/core
yarn add @langchain/langgraph @langchain/core
bun add @langchain/langgraph @langchain/core
完整变更列表请参阅 迁移指南.
弃用 createReactAgent
LangGraph createReactAgent 预构建已被弃用,改用 LangChain 的 createAgent。它提供了更简单的接口,并通过引入中间件提供了更大的定制潜力。
- * 有关新
createAgentAPI 的信息,请参阅 LangChain v1 发布说明. - * 有关从
createReactAgenttocreateAgent迁移的信息,请参阅 LangChain v1 迁移指南.
类型化中断
StateGraph 现在在构造函数中接受中断类型映射,以更严格地约束图中可使用的中断类型。
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[] }>, // [!code highlight]
// Define a complex interrupt with the same signature
complex: interrupt<{ reason: string }, { messages: string[] }>, // [!code highlight]
}
}
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);
}
有关中断的更多信息,请参阅 中断 documentation.
前端 SDK 增强
LangGraph v1 在与前端 LangGraph 应用交互时有几项增强。
事件流编码
低级 toLangGraphEventStream 辅助函数已被移除。流式响应现在由 SDK 原生处理,您可以通过传入 encoding 格式到 graph.stream来选择线路格式。这使得在 SSE 和普通 JSON 响应之间切换变得简单,无需更改 UI 逻辑。
请参阅 迁移指南 获取更多信息。
中的自定义传输 useStream
React useStream hook 现在支持可插拔传输,使您可以在不更改 UI 代码的情况下更好地控制网络层。
const stream = useStream({
transport: new FetchStreamTransport({
apiUrl: "http://localhost:2024",
}),
});
了解如何集成和自定义 hook: 将 LangGraph 集成到您的 React 应用.
报告问题
请在 GitHub 上报告发现的任何 1.0 问题, 'v1' 标签.
其他资源
LangGraph 1.0
阅读公告
Overview
LangGraph 是什么及何时使用
Graph API
使用状态、节点和边构建图
LangChain Agents
基于 LangGraph 构建的高级智能体
Migration guide
如何迁移到 LangGraph v1
GitHub
报告问题或贡献代码