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 应用程序进行交互的方法。
- 远程图:远程图使您能够与任何已部署的 LangGraph 应用程序进行交互,就好像它在本地运行一样。

LangGraph 平台提供了几种不同的部署选项,详见 部署选项指南。
为什么使用 LangGraph 平台?¶
LangGraph 平台旨在使代理应用程序的部署变得无缝且适合生产环境。
对于简单的应用程序,部署 LangGraph 代理可以像使用您自己的服务器逻辑一样简单——例如,设置一个 FastAPI 端点并直接调用 LangGraph。
选项 1:使用自定义服务器逻辑进行部署¶
对于基本的 LangGraph 应用程序,您可以选择使用自定义服务器基础设施来处理部署。使用像 FastAPI 这样的框架设置端点,可以让您快速部署和运行 LangGraph,就像您运行任何其他 Python 应用程序一样:
from fastapi import FastAPI
from your_agent_package import graph
app = FastAPI()
@app.get("/foo")
async def foo(...):
return await graph.ainvoke({...})
这种方法适用于需求简单的应用程序,并为您提供对部署设置的完全控制。例如,您可能会将其用于单个助手应用程序,该应用程序不需要长期会话或持久内存。
选项 2:利用 LangGraph 平台进行复杂部署¶
随着应用程序的规模扩展或添加复杂功能,部署需求通常会随之演变。运行一个节点更多、处理时间更长或需要持久内存的应用程序可能会引入挑战,并迅速变得耗时且难以手动管理。LangGraph 平台 旨在无缝处理这些挑战,允许您专注于代理逻辑,而不是服务器基础设施。
以下是一些在复杂部署中常见的问题,LangGraph 平台解决了这些问题:
-
流式支持:随着代理变得更加复杂,它们通常会受益于将令牌输出和中间状态流式返回给用户。如果没有这种支持,用户将不得不等待可能很长的操作而没有反馈。LangGraph 服务器提供了针对各种应用需求优化的 多种流式模式。
-
后台运行:对于处理时间较长的代理(例如,数小时),保持一个开放的连接可能不切实际。LangGraph 服务器支持在后台启动代理运行,并提供轮询端点和 Webhook,有效监视运行状态。
-
支持长时间运行:普通服务器设置在处理需要较长时间完成的请求时,往往会遭遇超时或中断。LangGraph 服务器的 API 提供强大的支持,通过发送定期心跳信号,防止在长期处理期间意外关闭连接。
-
处理突发性请求负载:某些应用程序,尤其是那些需要实时用户交互的应用程序,可能会经历“突发性”的请求负载,许多请求同时到达服务器。LangGraph 服务器包含一个任务队列,确保即使在高负载情况下请求也能一致处理而不丢失。
-
重复发送消息:在用户驱动的应用程序中,用户快速发送多条消息是很常见的。这种“重复发送”如果处理不当,可能会干扰代理流。LangGraph 服务器提供内置策略来解决和管理此类交互。
-
检查点和内存管理:对于需要持久性的代理(例如,谈话内存),部署一个稳健的存储解决方案可能会很复杂。LangGraph 平台包括优化的 检查点 和一个 内存存储,在会话间管理状态,而无需自定义解决方案。
-
人机协同支持:在许多应用程序中,用户需要有办法干预代理过程。LangGraph 服务器为人机协同场景提供了专用端点,简化了手动监督集成到代理工作流中的过程。
通过使用 LangGraph 平台,您可以访问一个强大、可扩展的部署解决方案,这些解决方案减轻了这些挑战,节省了您手动实现和维护它们的努力。这使您能更专注于构建有效的代理行为,而不是解决部署基础设施问题。