Skip to main content
LangGraph v1.0 现已发布!要查看完整的更改列表以及如何升级您的代码的说明,请参阅发布说明迁移指南如果您遇到任何问题或需要反馈,请打开一个工单,以便我们进行改进。要查看v0.x版本的文档,请访问存档网站
LangGraph 是一个用于构建、管理和部署长期运行、有状态的智能体的低级编排框架和运行时,受到包括 Klarna、Replit、Elastic 等塑造智能体未来公司的信赖。 LangGraph非常底层,专注于智能体编排。在使用LangGraph之前,我们建议您先熟悉一些构建智能体所使用的组件,从模型工具开始。 我们将在整个文档中常用 LangChain 组件来集成模型和工具,但您不需要使用 LangChain 就可以使用 LangGraph。如果您刚开始使用智能体或希望获得更高层次的抽象,我们建议您使用 LangChain 的 智能体,它们为常见的 LLM 和工具调用循环提供预构建的架构。 LangGraph专注于智能体编排所需的关键底层能力:持久执行、流处理、人机交互,以及更多。

安装

npm install @langchain/langgraph @langchain/core
然后,创建一个简单的“Hello World”示例:
import { MessagesAnnotation, StateGraph, START, END } from "@langchain/langgraph";

const mockLlm = (state: typeof MessagesAnnotation.State) => {
  return { messages: [{ role: "ai", content: "hello world" }] };
};

const graph = new StateGraph(MessagesAnnotation)
  .addNode("mock_llm", mockLlm)
  .addEdge(START, "mock_llm")
  .addEdge("mock_llm", END)
  .compile();

await graph.invoke({ messages: [{ role: "user", content: "hi!" }] });

核心优势

LangGraph为任何长期运行、具有状态的工作流或智能体提供低级支持基础设施。LangGraph不抽象提示或架构,并提供以下核心优势:
  • 持久执行: 构建能够通过失败持续运行并在长时间内运行,从上次停止的地方继续的智能体。
  • 人机协作: 通过在任何时刻检查和修改智能体状态来融入人工监督。
  • 全面记忆: 创建具有短期工作记忆(用于持续推理)和跨会话长期记忆的状态智能体。
  • 使用LangSmith进行调试: 利用可视化工具深入了解复杂智能体行为,这些工具可以追踪执行路径、捕获状态转换并提供详细的运行时指标。
  • 生产就绪部署: 使用专为处理具有状态、长时间运行的工作流程的独特挑战而设计的可扩展基础设施,自信地部署复杂的智能体系统。

LangGraph生态系统

虽然LangGraph可以独立使用,但它也可以与任何LangChain产品无缝集成,为开发者提供构建智能体的完整工具套件。为了提高您的LLM应用程序开发,请将LangGraph与以下产品搭配使用:
  • LangSmith — 有助于智能体评估和可观察性。调试性能不佳的LLM应用程序运行,评估智能体轨迹,在生产中提高可见性,并随着时间的推移提高性能。
  • LangSmith — 使用专为长时间运行、有状态的工作流程设计的部署平台轻松部署和扩展智能体。发现、重用、配置和跨团队共享智能体——并在Studio中进行可视化原型设计快速迭代。
  • LangChain - 提供集成和可组合组件,以简化LLM应用程序开发。包含基于LangGraph构建的智能体抽象。

致谢

LangGraph 受 PregelApache Beam 的启发。公共接口借鉴了 NetworkX。LangGraph 由 LangChain Inc(LangChain 的创造者)构建,但无需 LangChain 也可使用。