Skip to content

概述

LangGraph 概述

LangGraph 是一个底层编排框架和运行时,用于构建、管理和部署长时间运行的有状态代理,深受 Klarna、Replit、Elastic 等塑造代理未来发展的公司的信赖。

LangGraph 的底层架构非常薄弱,完全专注于代理编排。在使用 LangGraph 之前,我们建议您先熟悉一些用于构建代理的组件,首先是ModelsTools

在整个文档中,我们将经常使用LangChain组件来集成模型和工具,但您无需使用 LangChain 即可使用 LangGraph。如果您刚开始使用代理,或者需要更高层次的抽象,我们建议您使用 LangChain 的agents,它们为常见的 LLM 和工具调用循环提供了预构建的架构。

LangGraph 专注于对代理编排至关重要的底层功能:持久执行、流式传输、人机交互等等。

安装

bash
pip install langgraph
bash
uv add langgraph

示例代码

python
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 生态系统

LangSmith

在一个平台上即可追踪请求、评估输出并监控部署。使用 LangGraph 在本地进行原型设计,然后利用集成的可观测性和评估功能将其部署到生产环境,从而构建更可靠的代理系统。

LangGrah

借助专为长时间运行的有状态工作流而设计的部署平台,轻松部署和扩展代理。跨团队发现、重用、配置和共享代理,并通过 Studio 中的可视化原型快速迭代。

LangChain

提供集成和可组合组件,以简化 LLM 应用程序的开发。包含基于 LangGraph 构建的代理抽象。

最近更新