LangGraph 平台¶
概述¶
LangGraph 平台是一个用于将智能体应用部署到生产环境的商业解决方案,它基于开源的 LangGraph 框架构建。
LangGraph 平台由多个组件组成,这些组件协同工作以支持 LangGraph 应用的开发、部署、调试和监控
- LangGraph 服务器:该服务器定义了一套主张性 API 和架构,其中包含了部署智能体应用的最佳实践,使您能够专注于构建智能体逻辑,而不是开发服务器基础设施。
- LangGraph Studio:LangGraph Studio 是一个专用 IDE,可以连接到 LangGraph 服务器,以实现在本地对应用程序进行可视化、交互和调试。
- LangGraph CLI:LangGraph CLI 是一个命令行界面,有助于与本地 LangGraph 进行交互。
- Python/JS SDK:Python/JS SDK 提供了一种与已部署的 LangGraph 应用程序进行编程交互的方式。
- 远程图:远程图(RemoteGraph)允许您与任何已部署的 LangGraph 应用程序进行交互,就像它在本地运行一样。
LangGraph 平台提供了几种不同的部署选项,详情请参见部署选项指南。
为什么要使用 LangGraph 平台?¶
LangGraph 平台旨在使智能体应用的部署无缝且可用于生产环境。
对于更简单的应用,部署 LangGraph 智能体可以像使用您自己的服务器逻辑一样直接——例如,设置一个 FastAPI 端点并直接调用 LangGraph。
选项 1:使用自定义服务器逻辑进行部署¶
对于基本的 LangGraph 应用程序,您可以选择使用自定义服务器基础设施来处理部署。使用 Hono 等框架设置端点,您可以像部署和运行任何其他 JavaScript 应用程序一样快速部署和运行 LangGraph。
// index.ts
import { Hono } from "hono";
import { StateGraph } from "@langchain/langgraph";
const graph = new StateGraph(...)
const app = new Hono();
app.get("/foo", (c) => {
const res = await graph.invoke(...);
return c.json(res);
});
这种方法适用于需求简单、直接的应用程序,并为您提供对部署设置的完全控制。例如,您可以将其用于不需要长时间会话或持久内存的单一助手应用程序。
选项 2:利用 LangGraph 平台进行复杂部署¶
随着您的应用程序扩展或添加复杂功能,部署要求通常会随之变化。运行具有更多节点、更长处理时间或需要持久内存的应用程序会带来挑战,这些挑战很快就会变得耗时且难以手动管理。 LangGraph 平台旨在无缝处理这些挑战,让您专注于智能体逻辑而非服务器基础设施。
以下是复杂部署中出现的一些常见问题,LangGraph 平台能够解决这些问题:
-
流式传输支持:随着智能体变得越来越复杂,它们通常会受益于将令牌输出和中间状态流式传输回用户。如果没有这一点,用户将被迫等待可能长时间的操作而没有任何反馈。LangGraph 服务器提供多种流式传输模式,针对各种应用程序需求进行了优化。
-
后台运行:对于需要较长时间(例如数小时)处理的智能体,维持开放连接可能不切实际。LangGraph 服务器支持在后台启动智能体运行,并提供轮询端点和 Webhook,以有效监控运行状态。
-
对长时间运行的支持:普通的服务器设置在处理需要长时间才能完成的请求时,经常会遇到超时或中断。LangGraph 服务器的 API 通过发送定期心跳信号,为这些任务提供强大的支持,防止在长时间处理过程中意外连接关闭。
-
处理突发性负载:某些应用程序,尤其是那些具有实时用户交互的应用程序,可能会遇到“突发性”请求负载,即大量请求同时访问服务器。LangGraph 服务器包含一个任务队列,确保即使在重负载下也能一致地处理请求而不会丢失。
-
双重消息发送:在用户驱动的应用程序中,用户快速发送多条消息的情况很常见。如果不妥善处理,这种“双重消息发送”可能会扰乱智能体流程。LangGraph 服务器提供内置策略来处理和管理此类交互。
-
检查点和内存管理:对于需要持久化(例如,对话内存)的智能体,部署一个健壮的存储解决方案可能很复杂。LangGraph 平台包含优化的检查点和内存存储,无需自定义解决方案即可管理跨会话状态。
-
人工干预支持:在许多应用程序中,用户需要一种方式来干预智能体流程。LangGraph 服务器为人机协作(human-in-the-loop)场景提供了专用端点,简化了将人工监督集成到智能体工作流中的过程。
通过使用 LangGraph 平台,您可以获得一个健壮、可扩展的部署解决方案,它能够缓解这些挑战,节省您手动实施和维护它们的精力。这使您能够更多地专注于构建有效的智能体行为,而不是解决部署基础设施问题。