LangGraph 控制平面¶
“控制平面”一词广义上指控制平面用户界面,用户在该界面创建和更新 LangGraph 服务器(部署),以及支持用户体验的控制平面 API。
当用户通过控制平面用户界面进行更新时,更新存储在控制平面状态中。LangGraph 数据平面“监听器”应用程序通过调用控制平面 API 来轮询这些更新。
控制平面用户界面¶
从控制平面用户界面,您可以:
- 查看待处理部署列表。
- 查看单个部署的详细信息。
- 创建新部署。
- 更新部署。
- 更新部署的环境变量。
- 查看部署的构建和服务器日志。
- 删除部署。
控制平面用户界面嵌入在 LangSmith 中。
控制平面 API¶
本节描述了控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。但是,它们不公开访问。
部署¶
部署是 LangGraph 服务器的一个实例。单个部署可以有多个版本。
版本¶
版本是部署的一个迭代。创建新部署时,会自动创建一个初始版本。要部署代码更改或更新部署的环境变量,必须创建新版本。
环境变量¶
环境变量为部署设置。所有环境变量都作为秘密存储(即保存在秘密存储中)。
控制平面功能¶
本节描述了控制平面的各种功能。
部署类型¶
为简化起见,控制平面提供了两种具有不同资源分配的部署类型:Development
(开发)和 Production
(生产)。
部署类型 | CPU/内存 | 扩缩容 | 数据库 |
---|---|---|---|
开发 | 1 CPU,1 GB 内存 | 最多 1 个容器 | 10 GB 磁盘,无备份 |
生产 | 2 CPU,2 GB 内存 | 最多 10 个容器 | 自动扩缩容磁盘,自动备份,高可用(多可用区配置) |
CPU 和内存资源按容器计算。
不可变部署类型
部署创建后,部署类型无法更改。
资源自定义
对于 Production
类型部署,资源可以根据用例和容量限制手动逐案增加。请联系 support@langchain.dev 请求增加资源。
对于 Development
类型部署,数据库磁盘大小可以根据用例和容量限制手动逐案增加。对于大多数用例,应配置 TTL 以管理磁盘使用。请联系 support@langchain.dev 请求增加资源。
数据库预置¶
控制平面和 LangGraph 数据平面“监听器”应用程序协同为每个部署自动创建 Postgres 数据库。该数据库作为部署的持久层。
在实现 LangGraph 应用程序时,开发人员无需配置检查点。相反,会自动为图配置一个检查点。任何为图配置的检查点都将被自动配置的检查点取代。
无法直接访问数据库。所有对数据库的访问都通过 LangGraph 服务器进行。
数据库在部署本身被删除之前不会被删除。
异步部署¶
部署和版本的 K基础设施是异步预置和部署的。它们不会在提交后立即部署。目前,部署可能需要几分钟。
- 创建新部署时,会为该部署创建一个新数据库。数据库创建是一次性步骤。此步骤会导致部署的初始版本部署时间更长。
- 为部署创建后续版本时,没有数据库创建步骤。后续版本的部署时间比初始版本的部署时间显著更快。
- 每个版本的部署过程都包含一个构建步骤,可能需要几分钟。
控制平面和 LangGraph 数据平面“监听器”应用程序协同实现异步部署。
LangSmith 集成¶
每个部署都会自动创建一个 LangSmith 追踪项目。该追踪项目与部署同名。创建部署时,无需指定 LANGCHAIN_TRACING
和 LANGSMITH_API_KEY
/LANGCHAIN_API_KEY
环境变量;它们由控制平面自动设置。
删除部署时,追踪和追踪项目不会被删除。