LangGraph
LangGraph 是一个低级别的编排框架,用于构建、管理和部署长时间运行、有状态的智能体,受到 Klarna、Replit、Elastic 等塑造智能体未来的公司的信任。
入门¶
安装 LangGraph
然后,使用预构建组件创建智能体
# pip install -qU "langchain[anthropic]" to call the model
from langgraph.prebuilt import create_react_agent
def get_weather(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
agent = create_react_agent(
model="anthropic:claude-3-7-sonnet-latest",
tools=[get_weather],
prompt="You are a helpful assistant"
)
# Run the agent
agent.invoke(
{"messages": [{"role": "user", "content": "what is the weather in sf"}]}
)
更多信息请参见快速入门。或者,要了解如何构建具有可定制架构、长期记忆和其他复杂任务处理能力的智能体工作流,请参见LangGraph 基础教程。
核心优势¶
LangGraph 为*任何*长时间运行、有状态的工作流或智能体提供底层支持基础设施。LangGraph 不抽象提示或架构,并提供以下核心优势:
- 持久执行:构建能够抵御故障并长时间运行的智能体,可从上次中断的地方自动恢复。
- 人机协作:在执行的任何时间点检查和修改智能体状态,无缝地融入人工监督。
- 全面记忆:创建真正有状态的智能体,既具备用于持续推理的短期工作记忆,也具备跨会话的长期持久记忆。
- 使用 LangSmith 进行调试:利用可视化工具深入了解复杂的智能体行为,这些工具可以追踪执行路径、捕获状态转换并提供详细的运行时指标。
- 生产就绪部署:利用可扩展的基础设施,自信地部署复杂的智能体系统,该基础设施旨在处理有状态、长时间运行工作流的独特挑战。
LangGraph 的生态系统¶
虽然 LangGraph 可以独立使用,但它也能与任何 LangChain 产品无缝集成,为开发人员提供构建智能体所需的全套工具。为了改进您的 LLM 应用程序开发,请将 LangGraph 与以下产品搭配使用:
- LangSmith — 有助于智能体评估和可观察性。调试性能不佳的 LLM 应用程序运行、评估智能体轨迹、在生产环境中获得可见性,并随着时间的推移提高性能。
- LangGraph 平台 — 使用专为长时间运行、有状态工作流设计的部署平台,轻松部署和扩展智能体。在团队之间发现、重用、配置和共享智能体 — 并在LangGraph Studio中通过可视化原型快速迭代。
- LangChain – 提供集成和可组合组件,以简化 LLM 应用程序开发。
更多资源¶
- 指南:关于流式传输、添加记忆与持久化以及设计模式(例如分支、子图等)的快速、可操作的代码片段。
- 参考:关于核心类、方法、如何使用图和检查点 API 以及更高级的预构建组件的详细参考。
- 示例:LangGraph 入门的引导式示例。
- LangChain 学院:通过我们免费的结构化课程学习 LangGraph 的基础知识。
- 模板:用于常见智能体工作流(例如 ReAct 智能体、记忆、检索等)的预构建参考应用程序,可以克隆和适配。
- 案例研究:了解行业领导者如何使用 LangGraph 大规模交付 AI 应用程序。
致谢¶
LangGraph 的灵感来源于Pregel和Apache Beam。其公共接口借鉴了NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc. 构建,但可以独立于 LangChain 使用。