受到 Klarna、Uber、J.P. Morgan 等塑造智能体未来的公司信赖,LangGraph 是一个低层级的编排框架和运行时,用于构建、管理和部署长时间运行、有状态的智能体。 LangGraph 非常底层,并且完全专注于智能体编排。在使用 LangGraph 之前,我们建议你先熟悉一些用于构建智能体的组件,可以从模型工具开始。 在整个文档中,我们会经常使用 LangChain 组件来集成模型和工具,但使用 LangGraph 并不要求你必须使用 LangChain。如果你刚开始接触智能体,或者想要更高层级的抽象,我们建议你使用 LangChain 的智能体,它为常见的 LLM 和工具调用循环提供了预构建架构。 LangGraph 专注于智能体编排所需的重要底层能力:持久执行、流式处理、人在回路等。

安装

pip install -U langgraph
然后,创建一个简单的 hello world 示例:
from langgraph.graph import StateGraph, MessagesState, START, END

def mock_llm(state: MessagesState):
    return {"messages": [{"role": "ai", "content": "hello world"}]}

graph = StateGraph(MessagesState)
graph.add_node(mock_llm)
graph.add_edge(START, "mock_llm")
graph.add_edge("mock_llm", END)
graph = graph.compile()

graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})
使用 LangSmith 来追踪请求、调试智能体行为并评估输出。设置 LANGSMITH_TRACING=true 和你的 API 密钥即可开始使用。按照追踪快速入门完成设置。我们还建议你设置 LangSmith Engine,它会监控你的追踪、检测问题并提出修复建议。

核心优势

LangGraph 为任何长时间运行、有状态的工作流或智能体提供低层级的支撑基础设施。LangGraph 不抽象提示词或架构,并提供以下核心优势:
  • 持久化:构建能够在故障后继续存在、长时间运行,并从中断位置恢复的智能体。
  • 人在回路:通过在任意时刻检查和修改智能体状态,将人工监督纳入流程。
  • 全面的记忆:创建有状态智能体,同时具备用于持续推理的短期工作记忆,以及跨会话的长期记忆。
  • 使用 LangSmith 进行调试:通过可视化工具深入了解复杂的智能体行为,这些工具可以追踪执行路径、捕获状态转换,并提供详细的运行时指标。
  • 生产就绪的部署:借助专为处理有状态、长时间运行工作流的独特挑战而设计的可扩展基础设施,自信地部署复杂的智能体系统。

LangGraph 生态系统

虽然 LangGraph 可以独立使用,但它也能与任何 LangChain 产品无缝集成,为开发者提供一整套用于构建智能体的工具。为了改进你的 LLM 应用开发,可以将 LangGraph 与以下产品配合使用:
/images/brand/observability-icon-dark.png

LangSmith Observability

在一个地方追踪请求、评估输出并监控部署。先用 LangGraph 在本地进行原型开发,然后借助集成的可观测性和评估能力迁移到生产环境,构建更可靠的智能体系统。
/images/brand/deployment-icon-dark.png

LangSmith Deployment

借助专为长时间运行、有状态工作流打造的部署平台,轻松部署和扩展智能体。跨团队发现、复用、配置和共享智能体,并通过 Studio 中的可视化原型快速迭代。
/images/brand/langchain-icon.png

LangChain

提供集成和可组合组件,以简化 LLM 应用开发。包含构建在 LangGraph 之上的智能体抽象。

致谢

LangGraph 的灵感来自 PregelApache Beam。其公共接口的灵感来自 NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下使用。