Skip to content

LangGraph 控制平面

“控制平面”这一术语广泛用于指代用户创建和更新 LangGraph 服务器(部署)的控制平面 UI,以及支持 UI 体验的控制平面 API。

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

控制平面 UI

通过控制平面 UI,您可以:

  • 查看待处理的部署列表。
  • 查看单个部署的详细信息。
  • 创建新的部署。
  • 更新部署。
  • 更新部署的环境变量。
  • 查看部署的构建和服务器日志。
  • 删除部署。

控制平面 UI 嵌入在 LangSmith 中。

控制平面 API

本节描述了控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。但是,这些 API 并不对外公开。

部署

部署是 LangGraph Server 的一个实例。一个部署可以有多个修订版本。

修订版本

修订版本是部署的一个迭代版本。当创建一个新的部署时,会自动生成一个初始的修订版本。要部署代码更改或更新部署的环境变量,必须创建一个新的修订版本。

环境变量

环境变量是在部署层面设置的。所有环境变量都作为密钥(即存储在密钥库中)进行存储。

控制平面功能

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

部署类型

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

部署类型 CPU/内存 扩展 数据库
Development 1 CPU, 1 GB RAM 最多 1 个容器 10 GB 磁盘,无备份
Production 2 CPU, 2 GB RAM 最多 10 个容器 自动扩展磁盘,自动备份,高可用性(多区域配置)

每个容器的 CPU 和内存资源。

不可变的部署类型

一旦创建了部署,部署类型将无法更改。

资源自定义

对于 Production(生产) 类型的部署,可以根据使用场景和容量限制,在特定情况下手动增加资源。请联系 support@langchain.dev 以请求增加资源。

对于 Development(开发) 类型的部署,可以根据使用场景和容量限制,在特定情况下手动增加数据库磁盘大小。对于大多数使用场景,应配置 TTLs 来管理磁盘使用。请联系 support@langchain.dev 以请求增加资源。

自托管数据平面自托管控制平面 的部署资源可以完全自定义。

数据库配置

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

在实现 LangGraph 应用程序时,开发者无需配置 checkpointer(检查点)。相反,图会自动配置一个 checkpointer。任何为图配置的 checkpointer 将被自动配置的 checkpointer 替换。

没有直接访问数据库的权限。所有对数据库的访问都通过 LangGraph Server 进行。

在删除部署之前,数据库永远不会被删除。

Info

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

异步部署

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

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

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

LangSmith 集成

为每个部署会自动创建一个 LangSmith 跟踪项目。跟踪项目的名称与部署相同。创建部署时,不需要指定 LANGCHAIN_TRACINGLANGSMITH_API_KEY/LANGCHAIN_API_KEY 环境变量;这些变量由控制平面自动设置。

当删除部署时,跟踪记录和跟踪项目不会被删除。