🦜🕸️LangGraph.js¶
LangGraph——被 Replit、Uber、LinkedIn、GitLab 等公司使用——是一个用于构建可控代理的低级编排框架。虽然 LangChain 提供了集成和可组合组件来简化 LLM 应用开发,但 LangGraph 库支持代理编排——提供可定制的架构、长期记忆和人工干预,以可靠地处理复杂任务。
要了解有关如何使用 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"
}]
}
);
全栈快速入门¶
使用 create-agent-chat-app
CLI 快速构建一个全栈 LangGraph 应用程序
该 CLI 会设置一个聊天界面,并帮助您配置应用程序,包括
- 🧠 4 种预构建代理选择(ReAct、记忆、研究、检索)
- 🌐 前端框架(Next.js 或 Vite)
- 📦 包管理器(
npm
、yarn
或pnpm
)
为什么要使用 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 学院:在我们的免费结构化课程中学习 LangGraph 的基础知识。
- 教程:关于 LangGraph 入门的简单演练和指导示例。
- 模板:用于常见代理工作流(例如 ReAct 代理、记忆、检索等)的预构建参考应用,可以克隆和改编。
- 操作指南:针对流式传输、添加记忆和持久性以及设计模式(例如分支、子图等)等主题的快速可操作代码片段。
- API 参考:关于核心类、方法、如何使用图和检查点 API 以及更高级预构建组件的详细参考。
- 使用 LangGraph 构建:了解行业领导者如何使用 LangGraph 发布功能强大的生产就绪 AI 应用。
致谢¶
LangGraph 的灵感来自 Pregel 和 Apache Beam。其公共接口借鉴了 NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在没有 LangChain 的情况下使用。