LangGraph
LangGraph(被 Replit、Uber、LinkedIn、GitLab 等使用)是一个用于构建可控智能体的低级编排框架。虽然 LangChain 提供了集成和可组合组件以简化 LLM 应用开发,LangGraph 库则实现了智能体编排,提供可定制的架构、长期记忆和人工干预(human-in-the-loop),以可靠地处理复杂任务。
要了解如何使用 LangGraph,请查阅文档。我们在下面展示一个如何创建 ReAct 智能体的简单示例。
# This code depends on pip install langchain[anthropic]
from langgraph.prebuilt import create_react_agent
def search(query: str):
"""Call to surf the web."""
if "sf" in query.lower() or "san francisco" in query.lower():
return "It's 60 degrees and foggy."
return "It's 90 degrees and sunny."
agent = create_react_agent("anthropic:claude-3-7-sonnet-latest", tools=[search])
agent.invoke(
{"messages": [{"role": "user", "content": "what is the weather in sf"}]}
)
提示
查阅此指南,了解如何在 LangGraph 中实现常见模式(工作流和智能体)。
为什么要使用 LangGraph?¶
LangGraph 专为希望构建强大、适应性强的 AI 智能体的开发者而设计。开发者选择 LangGraph 是因为
- 可靠性和可控性。通过审核检查和人工干预审批来引导智能体行为。LangGraph 为长时间运行的工作流持久化上下文,确保您的智能体按预定路径执行。
- 低级且可扩展。使用完全描述性的低级原语构建自定义智能体,摆脱限制定制的僵化抽象层。设计可扩展的多智能体系统,每个智能体扮演针对您的用例量身定制的特定角色。
- 一流的流支持。通过逐令牌流式传输和中间步骤的流式传输,LangGraph 让用户能够清楚地看到智能体推理和行动实时展开的过程。
LangGraph 在生产环境中受到信任,并为以下公司提供智能体支持:
LangGraph 的生态系统¶
虽然 LangGraph 可以独立使用,它也能与任何 LangChain 产品无缝集成,为开发者提供一套完整的智能体构建工具。为了改进您的 LLM 应用开发,可以将 LangGraph 与以下产品搭配使用:
- LangSmith — 有助于智能体评估和可观测性。调试低性能的 LLM 应用运行、评估智能体轨迹、在生产环境中获得可见性,并随着时间的推移提高性能。
- LangGraph Platform — 利用专为长时间运行、有状态工作流构建的部署平台,轻松部署和扩展智能体。在团队间发现、重用、配置和共享智能体,并在LangGraph Studio 中通过可视化原型快速迭代。
与 LangGraph Platform 搭配使用¶
LangGraph 是我们的开源智能体编排框架,需要可扩展智能体部署的企业可以从 LangGraph Platform 中受益。
LangGraph Platform 可以帮助工程团队
- 加速智能体开发:利用可配置的模板和 LangGraph Studio,快速创建智能体用户体验,可视化和调试智能体交互。
- 无缝部署:我们处理部署智能体的复杂性。LangGraph Platform 包含用于内存、线程和 cron 作业的强大 API,以及自动扩展的任务队列和服务器。
- 集中式智能体管理与重用:在整个组织中发现、重用和管理智能体。业务用户无需编码即可修改智能体。
更多资源¶
- LangChain Academy:在我们免费、结构化的课程中学习 LangGraph 的基础知识。
- 教程:通过引导示例,简要介绍 LangGraph 的入门。
- 模板:用于常见智能体工作流(例如 ReAct 智能体、内存、检索等)的预构建参考应用,可以克隆和改编。
- 操作指南:针对流式传输、添加内存和持久化以及设计模式(例如分支、子图等)等主题的快速、可操作的代码片段。
- API 参考:关于核心类、方法、如何使用图和检查点 API 以及更高级的预构建组件的详细参考。
- 使用 LangGraph 构建:听听行业领导者如何使用 LangGraph 发布功能强大、可用于生产环境的 AI 应用。
致谢¶
LangGraph 的灵感来源于 Pregel 和 Apache Beam。其公共接口借鉴了 NetworkX 的灵感。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在不使用 LangChain 的情况下使用。