LangGraph
被塑造代理未来的企业所信任——包括 Klarna、Replit、Elastic 等——LangGraph 是一个用于构建、管理和部署长期运行、有状态代理的底层编排框架。
入门指南¶
安装 LangGraph:
然后,使用预构建组件创建代理:
# pip install -qU "langchain[anthropic]" 来调用模型
from langgraph.prebuilt import create_react_agent
def get_weather(city: str) -> str:
"""获取给定城市的天气信息。"""
return f"{city}的天气总是晴朗!"
agent = create_react_agent(
model="anthropic:claude-3-7-sonnet-latest",
tools=[get_weather],
prompt="你是一个乐于助人的助手"
)
# 运行代理
agent.invoke(
{"messages": [{"role": "user", "content": "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 Inc 开发,该公司也是 LangChain 的创建者,但 LangGraph 可以在不使用 LangChain 的情况下使用。