跳到内容

LangGraph 控制平面

“控制平面”一词广义上指的是控制平面 UI,用户可在其中创建和更新 LangGraph 服务器(部署),以及支持 UI 体验的控制平面 API。

当用户通过控制平面 UI 进行更新时,该更新会存储在控制平面状态中。LangGraph 数据平面的“监听器”应用程序通过调用控制平面 API 来轮询这些更新。

控制平面 UI

通过控制平面 UI,您可以

  • 查看未完成部署的列表。
  • 查看单个部署的详细信息。
  • 创建新部署。
  • 更新部署。
  • 更新部署的环境变量。
  • 查看部署的构建和服务器日志。
  • 查看部署指标,例如 CPU 和内存使用量。
  • 删除部署。

控制平面 UI 嵌入在 LangSmith 中。

控制平面 API

本节描述了控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。有关更多详细信息,请参阅控制平面 API 参考

部署

部署是 LangGraph 服务器的一个实例。单个部署可以有多个修订版本。

修订版本

修订版本是部署的一个迭代。创建新部署时,会自动创建一个初始修订版本。要部署代码更改或更新部署的密钥,必须创建新的修订版本。

控制平面功能

本节描述了控制平面的各种功能。

部署类型

为简化起见,控制平面提供了两种具有不同资源分配的部署类型:Development(开发)和 Production(生产)。

部署类型 CPU/内存 伸缩 数据库
开发 1 CPU,1 GB 内存 最多 1 个副本 10 GB 磁盘,无备份
生产 2 CPU,2 GB 内存 最多 10 个副本 自动伸缩磁盘,自动备份,高可用(多区域配置)

CPU 和内存资源是按每个副本计算的。

不可变部署类型

部署创建后,部署类型无法更改。

自托管部署

自托管数据平面自托管控制平面部署的资源可以完全自定义。部署类型仅适用于云 SaaS 部署。

生产

Production 类型部署适用于“生产”工作负载。例如,对于关键路径中的面向客户的应用程序,请选择 Production

Production 类型部署的资源可以根据用例和容量限制,视具体情况手动增加。请联系 support@langchain.dev 请求增加资源。

开发

Development 类型部署适用于开发和测试。例如,对于内部测试环境,请选择 DevelopmentDevelopment 类型部署不适用于“生产”工作负载。

可抢占计算基础设施

Development 类型部署(API 服务器、队列服务器和数据库)预配在可抢占计算基础设施上。这意味着计算基础设施随时可能在不另行通知的情况下终止。这可能导致间歇性...

  • Redis 连接超时/错误
  • Postgres 连接超时/错误
  • 后台运行失败或重试

这种行为是预期的。可抢占计算基础设施显著降低了预配 Development 类型部署的成本。从设计上讲,LangGraph 服务器具有容错性。实现将自动尝试从 Redis/Postgres 连接错误中恢复并重试失败的后台运行。

Production 类型部署预配在持久计算基础设施上,而不是可抢占计算基础设施上。

Development 类型部署的数据库磁盘大小可以根据用例和容量限制,视具体情况手动增加。对于大多数用例,应配置 TTLs 以管理磁盘使用量。请联系 support@langchain.dev 请求增加资源。

数据库预配

控制平面和LangGraph 数据平面的“监听器”应用程序协同工作,为每个部署自动创建 Postgres 数据库。该数据库充当部署的持久化层

实现 LangGraph 应用程序时,检查点器无需由开发人员配置。相反,检查点器会自动为图配置。为图配置的任何检查点器都将被自动配置的检查点器替换。

无法直接访问数据库。所有对数据库的访问都通过LangGraph 服务器进行。

除非部署本身被删除,否则数据库永远不会被删除。

信息

可以为自托管数据平面自托管控制平面部署配置自定义 Postgres 实例。

异步部署

部署和修订版本的基础设施是异步预配和部署的。它们不会在提交后立即部署。目前,部署可能需要几分钟。

  • 创建新部署时,会为该部署创建一个新数据库。数据库创建是一次性步骤。此步骤导致部署的初始修订版本部署时间更长。
  • 为部署创建后续修订版本时,没有数据库创建步骤。后续修订版本的部署时间比初始修订版本的部署时间显著更快。
  • 每个修订版本的部署过程都包含一个构建步骤,可能需要几分钟。

控制平面和LangGraph 数据平面的“监听器”应用程序协同实现异步部署。

监控

部署准备就绪后,控制平面会监控部署并记录各种指标,例如:

这些指标以图表形式显示在控制平面 UI 中。

LangSmith 集成

每个部署都会自动创建一个 LangSmith 追踪项目。该追踪项目与部署同名。创建部署时,无需指定 LANGCHAIN_TRACINGLANGSMITH_API_KEY/LANGCHAIN_API_KEY 环境变量;它们由控制平面自动设置。

部署被删除时,追踪数据和追踪项目不会被删除。