LangGraph 控制平面¶
术语"控制平面"广泛用于指用户创建和更新 LangGraph 服务器(部署)的控制平面 UI,以及支持 UI 体验的控制平面 API。
当用户通过控制平面 UI 进行更新时,更新将存储在控制平面状态中。LangGraph 数据平面"监听器"应用程序通过调用控制平面 API 来轮询这些更新。
控制平面 UI¶
从控制平面 UI,你可以:
- 查看未完成部署的列表。
- 查看单个部署的详细信息。
- 创建新部署。
- 更新部署。
- 更新部署的环境变量。
- 查看部署的构建和服务器日志。
- 查看部署指标,例如 CPU 和内存使用情况。
- 删除部署。
控制平面 UI 嵌入在 LangSmith 中。
控制平面 API¶
本节描述控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。有关更多详细信息,请参阅控制平面 API 参考。
部署¶
部署是 LangGraph 服务器的实例。单个部署可以有许多修订。
修订¶
修订是部署的迭代。创建新部署时,会自动创建初始修订。要部署代码更改或更新部署的密钥,必须创建新修订。
控制平面功能¶
本节描述控制平面的各种功能。
部署类型¶
为简单起见,控制平面提供了两种具有不同资源分配的部署类型:开发版和生产版。
| 部署类型 | CPU/内存 | 扩展 | 数据库 |
|---|---|---|---|
| 开发版 | 1 CPU,1 GB RAM | 最多 1 个副本 | 10 GB 磁盘,无备份 |
| 生产版 | 2 CPU,2 GB RAM | 最多 10 个副本 | 自动扩展磁盘,自动备份,高可用性(多区域配置) |
CPU 和内存资源是每个副本的资源。
不可变的部署类型
部署创建后,部署类型无法更改。
自托管部署
自托管数据平面和自托管控制平面部署的资源可以完全自定义。部署类型仅适用于 Cloud SaaS 部署。
生产版¶
生产版类型部署适用于"生产"工作负载。例如,为关键路径中面向客户的应用程序选择生产版。
根据用例和容量限制,可以根据具体情况手动增加生产版类型部署的资源。请联系 support@langchain.dev 以请求增加资源。
开发版¶
开发版类型部署适用于开发和测试。例如,为内部测试环境选择开发版。开发版类型部署不适用于"生产"工作负载。
可抢占的计算基础设施
开发版类型部署(API 服务器、队列服务器和数据库)在可抢占的计算基础设施上提供。这意味着计算基础设施**可能随时终止而不另行通知**。这可能导致间歇性...
- Redis 连接超时/错误
- Postgres 连接超时/错误
- 失败或重试的后台运行
这种行为是预期的。可抢占的计算基础设施**显著降低了提供`开发版`类型部署的成本**。按设计,LangGraph 服务器具有容错能力。实现将自动尝试从 Redis/Postgres 连接错误中恢复并重试失败的后台运行。
`生产版`类型部署在持久计算基础设施上提供,而不是可抢占的计算基础设施。
根据用例和容量限制,可以根据具体情况手动增加开发版类型部署的数据库磁盘大小。对于大多数用例,应配置 TTL 来管理磁盘使用情况。请联系 support@langchain.dev 以请求增加资源。
数据库提供¶
控制平面和 LangGraph 数据平面"监听器"应用程序协调以自动为每个部署创建 Postgres 数据库。该数据库用作部署的持久化层。
在实现 LangGraph 应用程序时,开发人员不需要配置检查点器。相反,检查点器会自动为图配置。为图配置的任何检查点器都将被自动配置的检查点器替换。
无法直接访问数据库。对数据库的所有访问都通过 LangGraph 服务器进行。
在部署本身被删除之前,数据库永远不会被删除。
Info
可以为自托管数据平面和自托管控制平面部署配置自定义 Postgres 实例。
异步部署¶
部署和修订的基础设施是异步提供和部署的。它们不会在提交后立即部署。目前,部署可能需要几分钟的时间。
- 创建新部署时,将为部署创建新数据库。数据库创建是一次性步骤。此步骤导致部署的初始修订的部署时间更长。
- 为部署创建后续修订时,没有数据库创建步骤。与初始修订的部署时间相比,后续修订的部署时间要快得多。
- 每个修订的部署过程包含一个构建步骤,可能需要几分钟的时间。
控制平面和 LangGraph 数据平面"监听器"应用程序协调以实现异步部署。
监控¶
部署准备就绪后,控制平面会监控部署并记录各种指标,例如:
- 部署的 CPU 和内存使用情况。
- 容器重启次数。
- 副本数量(这将随着自动扩展而增加)。
- Postgres CPU、内存使用情况和磁盘使用情况。
- LangGraph 服务器队列待处理/活动运行计数。
- LangGraph 服务器 API 成功响应计数、错误响应计数和延迟。
这些指标在控制平面 UI 中显示为图表。
LangSmith 集成¶
为每个部署自动创建 LangSmith 跟踪项目和 LangSmith API 密钥。部署使用该 API 密钥自动将跟踪发送到 LangSmith。
- 跟踪项目与部署同名。
- API 密钥的描述为
LangGraph Platform: <deployment_name>。 - API 密钥永远不会显示,也无法手动删除。
- 创建部署时,不需要指定
LANGCHAIN_TRACING和LANGSMITH_API_KEY/LANGCHAIN_API_KEY环境变量;它们由控制平面自动设置。
删除部署时,跟踪和跟踪项目不会被删除。但是,删除部署时将删除 API。