跳到内容

LangGraph

LangGraph Logo LangGraph Logo

LangGraph Logo


Version Downloads Open Issues Docs

LangGraph 是一个低级编排框架,用于构建、管理和部署长期运行、有状态的代理,深受塑造代理未来的公司(包括 Klarna、Replit、Elastic 等)的信赖。

开始

安装 LangGraph

pip install -U langgraph

然后,使用预构建组件创建代理

API 参考: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 平台 — 使用专为长期运行、有状态工作流构建的部署平台,轻松部署和扩展代理。在团队间发现、重用、配置和共享代理,并在LangGraph Studio中通过可视化原型快速迭代。
  • LangChain – 提供集成和可组合的组件,以简化 LLM 应用程序开发。

注意

正在寻找 LangGraph 的 JS 版本?请查看JS 仓库JS 文档

更多资源

  • 指南:关于流式传输、添加内存与持久性以及设计模式(例如分支、子图等)等主题的快速、可操作的代码片段。
  • 参考资料:关于核心类、方法、如何使用图和检查点 API 以及更高级的预构建组件的详细参考。
  • 示例:关于 LangGraph 入门的指导性示例。
  • LangChain 论坛:与社区联系,分享您的所有技术问题、想法和反馈。
  • LangChain 学院:在我们免费的结构化课程中学习 LangGraph 的基础知识。
  • 模板:针对常见代理工作流(例如 ReAct 代理、内存、检索等)的预构建参考应用程序,可以克隆和修改。
  • 案例研究:了解行业领导者如何使用 LangGraph 规模化地交付 AI 应用程序。

致谢

LangGraph 的灵感来源于PregelApache Beam。其公共接口则借鉴了NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc. 构建,但可以独立于 LangChain 使用。