LangGraph
LangGraph 是一个用于构建、管理和部署长期运行、有状态代理的低级编排框架,深受塑造代理未来的公司信赖——包括 Klarna、Replit、Elastic 等。
开始¶
安装 LangGraph:
然后,使用预构建组件 创建一个代理:
API Reference: create_react_agent
# 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 Platform — 使用专为长期运行、有状态工作流设计的部署平台轻松部署和扩展代理。在团队之间发现、重用、配置和共享代理——并通过 LangGraph Studio 进行可视化原型设计,快速迭代。
- LangChain – 提供集成和可组合的组件,以简化 LLM 应用开发。
附加资源¶
- 指南:关于流式处理、添加记忆和持久性以及设计模式(例如分支、子图等)的主题的快速、可操作的代码片段。
- 参考:关于核心类、方法、如何使用图和检查点 API 以及更高级的预构建组件的详细参考。
- 示例:关于开始使用 LangGraph 的指导性示例。
- LangChain Academy:在我们的免费结构化课程中学习 LangGraph 的基础知识。
- 模板:常用的代理工作流(例如 ReAct 代理、记忆、检索等)的预构建参考应用程序,可以克隆和改编。
- 案例研究:了解行业领导者如何使用 LangGraph 来大规模发布 AI 应用程序。
致谢¶
LangGraph 的灵感来源于 Pregel 和 Apache Beam。其公共接口的设计受到了 NetworkX 的启发。LangGraph 由 LangChain 的创建者 LangChain Inc. 构建,但也可在不使用 LangChain 的情况下使用。