跳到内容

🦜🕸️LangGraph.js

Docs Version
Downloads Open Issues

注意

正在寻找 Python 版本?请参阅 Python 仓库Python 文档

LangGraph — 被 Replit、Uber、LinkedIn、GitLab 等公司使用 — 是一个用于构建可控代理的底层编排框架。虽然 langchain 提供了集成和可组合的组件来简化 LLM 应用程序开发,但 LangGraph 库实现了代理编排 — 提供可定制的架构、长期记忆和人机协作,以可靠地处理复杂的任务。

npm install @langchain/langgraph @langchain/core

要了解更多关于如何使用 LangGraph 的信息,请查看文档。我们在下面展示了一个如何创建 ReAct 代理的简单示例。

// npm install @langchain-anthropic
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { ChatAnthropic } from "@langchain/anthropic";
import { tool } from "@langchain/core/tools";

import { z } from "zod";

const search = tool(async ({ query }) => {
  if (query.toLowerCase().includes("sf") || query.toLowerCase().includes("san francisco")) {
    return "It's 60 degrees and foggy."
  }
  return "It's 90 degrees and sunny."
}, {
  name: "search",
  description: "Call to surf the web.",
  schema: z.object({
    query: z.string().describe("The query to use in your search."),
  }),
});

const model =  new ChatAnthropic({
  model: "claude-3-7-sonnet-latest"
});

const agent = createReactAgent({
  llm: model,
  tools: [search],
});

const result = await agent.invoke(
  {
    messages: [{
      role: "user",
      content: "what is the weather in sf"
    }]
  }
);

为什么要使用 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 快速创建代理 UX,用于可视化和调试代理交互。
  • 无缝部署:我们处理部署代理的复杂性。LangGraph Platform 包括用于内存、线程和 cron 作业的强大 API,以及自动扩展的任务队列和服务器。
  • 集中代理管理和可重用性:在整个组织中发现、重用和管理代理。业务用户也可以在不编码的情况下修改代理。

其他资源

  • LangChain Academy:在我们的免费结构化课程中学习 LangGraph 的基础知识。
  • 教程:关于 LangGraph 入门的简单演练和指导示例。
  • 模板:用于常见代理工作流程(例如 ReAct 代理、内存、检索等)的预构建参考应用程序,可以克隆和调整。
  • 操作指南:关于流式传输、添加内存和持久性以及设计模式(例如分支、子图等)等主题的快速、可操作的代码片段。
  • API 参考:关于核心类、方法、如何使用图和检查点 API 以及更高级别的预构建组件的详细参考。
  • 使用 LangGraph 构建:了解行业领导者如何使用 LangGraph 来交付强大的、可用于生产的 AI 应用程序。

致谢

LangGraph 的灵感来自 PregelApache Beam。公共接口的设计灵感来自 NetworkX。LangGraph 由 LangChain Inc (LangChain 的创建者) 构建,但可以在没有 LangChain 的情况下使用。