LangGraph 是一个低级编排框架和运行时,用于构建、管理和部署长时间运行的有状态代理,受到塑造代理未来的公司(包括 Klarna、Uber、J.P. Morgan 等)的信赖。
LangGraph 是非常低级的,完全专注于代理 **编排**。在使用 LangGraph 之前,我们建议您熟悉一些用于构建代理的组件,从 模型 和 工具.
我们通常会使用 LangChain 文档中的组件来集成模型和工具,但您不需要使用 LangChain 来使用 LangGraph。如果您是代理的新手或想要更高级的抽象,我们建议您使用 LangChain 的 代理 它为常见的 LLM 和工具调用循环提供预构建架构。
LangGraph 专注于对代理编排重要的底层能力:持久执行、流式处理、人工介入等。
how LangChain products fit together
- - 深度代理 is an 代理测试框架:在 LangGraph 之上的规划、子代理、文件系统工具和上下文管理。
- - LangChain 是代理框架:用于模型、工具和代理循环的抽象和集成。
- - LangGraph 是编排运行时:持久执行、流式处理、人工介入和持久化。
- - LangSmith 是跨框架的追踪、评估、提示和部署平台。
- - LangSmith Engine 检测 LangGraph 代理追踪中的问题并提出修复建议。您可以直接从 Engine 选项卡打开包含建议修复的拉取请求。
- - LangSmith Fleet 是用于模板、集成和流程自动化的无代码代理构建器。
阅读 框架、运行时和测试框架 以了解开源技术栈的比较。
安装
npm install @langchain/langgraph @langchain/core
pnpm add @langchain/langgraph @langchain/core
yarn add @langchain/langgraph @langchain/core
bun add @langchain/langgraph @langchain/core
然后,创建一个简单的 hello world 示例:
const State = new StateSchema({
messages: MessagesValue,
});
const mockLlm: GraphNode<typeof State> = (state) => {
return { messages: [{ role: "ai", content: "hello world" }] };
};
const graph = new StateGraph(State)
.addNode("mock_llm", mockLlm)
.addEdge(START, "mock_llm")
.addEdge("mock_llm", END)
.compile();
await graph.invoke({ messages: [{ role: "user", content: "hi!" }] });
核心优势
LangGraph 为 *任何* 长时间运行的有状态工作流或代理提供低级支持基础设施。LangGraph 不抽象提示或架构,并提供以下核心优势:
- * 持久性:构建能够在失败中持续运行并长时间执行的智能体,从中断处恢复。
- * Human-in-the-loop:通过在任何时点检查和修改智能体状态来引入人工监督。
- * 全面记忆:创建有状态的智能体,同时具备用于持续推理的短期工作记忆和跨会话的长期记忆。
- * 使用 LangSmith 进行调试:通过可视化工具深入了解复杂的智能体行为,这些工具可追踪执行路径、捕获状态转换并提供详细的运行时指标。
- * 生产级部署:使用可扩展的基础设施自信地部署复杂的智能体系统,该基础设施专为处理有状态的长时间运行工作流的独特挑战而设计。
LangGraph 生态系统
虽然 LangGraph 可以独立使用,但它也能与任何 LangChain 产品无缝集成,为开发者提供构建智能体的完整工具套件。为了提升您的 LLM 应用开发体验,请将 LangGraph 与以下产品结合使用:
LangSmith Observability
在一处追踪请求、评估输出并监控部署。使用 LangGraph 在本地进行原型设计,然后通过集成的可观测性和评估功能进入生产环境,构建更可靠的智能体系统。
Learn moreLangSmith Deployment
使用专为长时间运行、有状态工作流构建的部署平台轻松部署和扩展智能体。发现、重用、配置和共享智能体——并通过 Studio 中的可视化原型设计快速迭代。
Learn moreLangChain
提供集成和可组合组件,简化 LLM 应用开发。包含基于 LangGraph 构建的智能体抽象。
Learn more致谢
LangGraph 的灵感来自 Pregel 和 Apache Beam。公共接口借鉴了 NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下使用。