控制平面 UI
从控制平面 UI,您可以:- 查看未完成的部署列表。
- 查看单个部署的详细信息。
- 创建新部署。
- 更新部署。
- 更新部署的环境变量。
- 查看部署的构建和服务器日志。
- 查看部署指标,如 CPU 和内存使用情况。
- 删除部署。
控制平面 API
本节描述控制平面 API 的数据模型。该 API 用于创建、更新和删除部署。有关更多详细信息,请参阅控制平面 API 参考。集成
集成是git 仓库提供商(例如 GitHub)的抽象。它包含连接和从 git 仓库部署所需的所有必需元数据。
部署
部署是智能体服务器的实例。单个部署可以有多个修订版。修订版
修订版是部署的迭代。创建新部署时,会自动创建初始修订版。要部署代码更改或更新部署的密钥,必须创建新修订版。监听器
监听器是”监听器”应用程序的实例。监听器包含有关应用程序的元数据(例如版本)以及有关可以部署到的计算基础设施的元数据(例如 Kubernetes 命名空间)。 监听器数据模型仅适用于混合和自托管部署。控制平面功能
本节描述控制平面的各种功能。部署类型
为简单起见,控制平面提供两种具有不同资源分配的部署类型:Development 和 Production。
| 部署类型 | CPU/内存 | 扩展 | 数据库 |
|---|---|---|---|
| Development | 1 CPU, 1 GB RAM | 最多 1 个副本 | 10 GB 磁盘,无备份 |
| Production | 2 CPU, 2 GB RAM | 最多 10 个副本 | 自动扩展磁盘,自动备份,高可用(多区域配置) |
Production
Production 类型部署适合”生产”工作负载。例如,为关键路径中的面向客户的应用程序选择 Production。
Production 类型部署的资源可以根据用例和容量限制逐案手动增加。联系 support@langchain.dev 请求增加资源。
Development
Development 类型部署适合开发和测试。例如,为内部测试环境选择 Development。Development 类型部署不适合”生产”工作负载。
可抢占的计算基础设施
Development 类型部署(API 服务器、队列服务器和数据库)在可抢占的计算基础设施上配置。这意味着计算基础设施可能随时终止而不发出通知。这可能导致间歇性的…- Redis 连接超时/错误
- Postgres 连接超时/错误
- 失败或重试的后台运行
Development 类型部署的成本。根据设计,智能体服务器具有容错能力。实现将自动尝试从 Redis/Postgres 连接错误中恢复并重试失败的后台运行。Production 类型部署在持久计算基础设施上配置,而不是可抢占的计算基础设施。Development 类型部署的数据库磁盘大小可以根据用例和容量限制逐案手动增加。对于大多数用例,应配置 TTL 来管理磁盘使用。联系 support@langchain.dev 请求增加资源。
数据库配置
控制平面和数据平面”监听器”应用程序协调为每个部署自动创建 Postgres 数据库。该数据库用作部署的持久层。 在实现 LangGraph 应用程序时,开发人员不需要配置检查点器。相反,检查点器会自动为图配置。为图配置的任何检查点器都将被自动配置的检查点器替换。 没有对数据库的直接访问。对数据库的所有访问都通过智能体服务器进行。 除非删除部署本身,否则不会删除数据库。异步部署
部署和修订版的基础设施是异步配置和部署的。它们不会在提交后立即部署。目前,部署可能需要几分钟时间。- 创建新部署时,会为部署创建新数据库。数据库创建是一次性步骤。此步骤会导致部署的初始修订版的部署时间更长。
- 为部署创建后续修订版时,没有数据库创建步骤。后续修订版的部署时间与初始修订版的部署时间相比明显更快。
- 每个修订版的部署过程包含构建步骤,可能需要几分钟时间。
Monitoring
After a deployment is ready, the control plane monitors the deployment and records various metrics, such as:- CPU and memory usage of the deployment.
- Number of container restarts.
- Number of replicas (this will increase with autoscaling).
- PostgreSQL CPU, memory usage, and disk usage.
- Agent Server queue pending/active run count.
- Agent Server API success response count, error response count, and latency.
LangSmith integration
A LangSmith tracing project is automatically created for each deployment. The tracing project has the same name as the deployment. When creating a deployment, theLANGCHAIN_TRACING and LANGSMITH_API_KEY/LANGCHAIN_API_KEY environment variables do not need to be specified; they are set automatically by the control plane.
When a deployment is deleted, the traces and the tracing project are not deleted.