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

核心优势

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

LangGraph生态系统

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

致谢

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