LangGraph 控制平面¶
“控制平面”一词广泛用于指代用户创建和更新LangGraph 服务器(部署)的控制平面UI以及支持该用户体验的控制平面API。
当用户通过控制平面UI进行更新时,这些更新会被存储在控制平面状态中。LangGraph 数据平面中的“监听器”应用程序通过调用控制平面API来轮询这些更新。
控制平面UI¶
从控制平面UI中,您可以:
- 查看待部署列表。
- 查看单个部署的详细信息。
- 创建新的部署。
- 更新部署。
- 更新部署的环境变量。
- 查看部署的构建日志和服务器日志。
- 删除部署。
控制平面UI嵌入在LangSmith中。
控制平面API¶
本节描述了LangGraph控制平面API的数据模型。控制平面API用于创建、更新和删除部署。然而,它们并不对外公开访问。
部署¶
一个部署是LangGraph服务器的一个实例。单个部署可以有多个修订版本。
修订¶
修订是指部署的一个迭代。当创建一个新的部署时,会自动创建一个初始修订。为了部署代码更改或更新部署的环境变量,必须创建一个新的修订。
环境变量¶
环境变量为部署设置。所有环境变量都存储为秘密(即保存在秘密存储中)。
控制平面功能¶
本节描述了控制平面的各种功能。
部署类型¶
为了简化,控制平面提供了两种不同资源分配的部署类型:Development
和 Production
。
部署类型 | CPU | 内存 | 扩展性 |
---|---|---|---|
Development | 1 CPU | 1 GB | 最多 1 个容器 |
Production | 2 CPU | 2 GB | 最多 10 个容器 |
CPU 和内存资源是按每个容器计算的。
对于云SaaS
对于Production
类型的部署,可以根据使用情况和容量限制手动增加资源。请联系support@langchain.dev以请求增加资源。
数据库配置¶
控制平面与LangGraph数据平面"监听器"应用程序协调,自动为每个部署创建一个Postgres数据库。该数据库充当部署的持久层。
在实现LangGraph应用时,开发者不需要配置检查点程序。相反,检查点程序会自动为图配置好。任何为图配置的检查点程序都会被自动配置的检查点程序替换。
没有直接访问数据库的方式。所有对数据库的访问都是通过LangGraph服务器进行的。
除非删除部署本身,否则数据库永远不会被删除。有关更多详细信息,请参阅自动删除。
异步部署¶
部署及其修订的基础设施是异步提供的和部署的。提交后不会立即部署。目前,部署可能需要几分钟时间。
- 当创建一个新的部署时,会为该部署创建一个新的数据库。数据库创建是一个一次性步骤。这一步骤导致初始修订的部署时间较长。
- 当为一个部署创建后续修订时,没有数据库创建步骤。后续修订的部署时间比初始修订快得多。
- 每次修订的部署过程包含一个构建步骤,该步骤可能需要几分钟时间。
控制平面与LangGraph数据平面"监听器"应用程序协调,以实现异步部署。
自动删除¶
控制平面会在连续28天未使用的状态下自动删除部署(即处于未使用状态)。如果在连续28天内从部署中没有向LangSmith发出任何痕迹,则认为该部署处于未使用状态。在任何给定的一天里,如果部署向LangSmith发送了一个跟踪记录,则连续未使用的天数计数会被重置。
- 在连续7天未使用之后,会发送一封电子邮件通知。
- 在连续28天未使用之后,部署会被删除。
数据无法恢复
删除部署后,部署中的数据(如Postgres)无法恢复。
LangSmith集成¶
为每个部署自动创建一个LangSmith跟踪项目。该跟踪项目的名称与部署相同。在创建部署时,无需指定LANGCHAIN_TRACING
和LANGSMITH_API_KEY
/LANGCHAIN_API_KEY
环境变量;它们由控制平面自动设置。
当删除部署时,跟踪记录和跟踪项目不会被删除。