_数据平面_由您的 Agent Servers(部署)、它们的支持基础架构以及持续轮询来自 LangSmith 控制平面的更新的”监听器”应用程序组成。

服务器基础架构

除了 Agent Server 本身之外,每个服务器的以下基础架构组件也包含在”数据平面”的广泛定义中:
  • PostgreSQL:用户、运行和内存数据的持久层。
  • Redis:工作器的通信和临时元数据。
  • 密钥存储:环境密钥的安全管理。
  • 自动缩放器:基于负载缩放服务器容器。

“监听器”应用程序

数据平面”监听器”应用程序定期调用控制平面 API以:
  • 确定是否应创建新部署。
  • 确定是否应更新现有部署(即新修订版)。
  • 确定是否应删除现有部署。
换句话说,数据平面”监听器”读取控制平面的最新状态(期望状态)并采取行动来协调未完成的部署(当前状态)以匹配最新状态。

PostgreSQL

PostgreSQL 是智能体服务器中所有用户、运行和长期内存数据的持久层。这存储检查点(更多信息请参见此处)、服务器资源(线程、运行、助手和定时任务),以及保存在长期内存存储中的项目(更多信息请参见此处)。

Redis

Redis 在每个智能体服务器中用作服务器和队列工作器之间通信的方式,以及存储临时元数据。Redis 中不存储用户或运行数据。

通信

智能体服务器中的所有运行都由作为每个部署一部分的后台工作器池执行。为了为这些运行启用某些功能(例如取消和输出流),我们需要服务器和处理特定运行的工作器之间的双向通信通道。我们使用 Redis 来组织该通信。
  1. Redis 列表用作一种机制,一旦创建新运行就唤醒工作器。此列表中只存储哨兵值,没有实际的运行信息。然后由工作器从 PostgreSQL 检索运行信息。
  2. Redis 字符串和 Redis PubSub 通道的组合用于服务器向适当的工作器传达运行取消请求。
  3. Redis PubSub 通道由工作器用于在处理运行时广播来自智能体的流输出。服务器中任何打开的 /stream 请求都将订阅该通道并在事件到达时将其转发到响应。Redis 中不会存储任何事件。

临时元数据

智能体服务器中的运行可能会因特定故障重试(目前仅针对运行期间遇到的瞬态 PostgreSQL 错误)。为了限制重试次数(目前限制为每次运行 3 次尝试),我们在拾取时在 Redis 字符串中记录尝试编号。除了其 ID 之外,这不包含特定于运行的信息,并在短暂延迟后过期。

数据平面功能

本节描述数据平面的各种功能。

数据区域

仅适用于云 数据区域仅适用于部署。
可以在 2 个数据区域创建部署:美国和欧盟 部署的数据区域由创建部署的 LangSmith 组织的数据区域隐含。部署和部署的底层数据库无法在数据区域之间迁移。

自动扩展

Production 类型部署自动扩展到最多 10 个容器。扩展基于 3 个指标:
  1. CPU 利用率
  2. 内存利用率
  3. 待处理(进行中)运行的数量
对于 CPU 利用率,自动扩展器的目标是 75% 的利用率。这意味着自动扩展器将增加或减少容器数量以确保 CPU 利用率处于或接近 75%。对于内存利用率,自动扩展器同样目标 75% 的利用率。 对于待处理运行的数量,自动扩展器的目标是 10 个待处理运行。例如,如果当前容器数量为 1,但待处理运行数量为 20,自动扩展器将将部署扩展到 2 个容器(20 个待处理运行 / 2 个容器 = 每个容器 10 个待处理运行)。 每个指标独立计算,自动扩展器将根据导致最大容器数量的指标确定扩展操作。 缩减操作在采取任何操作之前延迟 30 分钟。换句话说,如果自动扩展器决定缩减部署,它将首先等待 30 分钟再缩减。30 分钟后,将重新计算指标,如果重新计算的指标导致容器数量少于当前数量,部署将缩减。否则,部署保持扩展状态。此”冷却”期确保部署不会过于频繁地扩展和缩减。

静态 IP 地址

仅适用于云 静态 IP 地址仅适用于部署。
2025 年 1 月 6 日之后创建的部署的所有流量都将通过 NAT 网关。此 NAT 网关将根据数据区域具有多个静态 IP 地址。有关静态 IP 地址列表,请参阅下表:
USEU
35.197.29.14634.13.192.67
34.145.102.12334.147.105.64
34.169.45.15334.90.22.166
34.82.222.1734.147.36.213
35.227.171.13534.32.137.113
34.169.88.3034.91.238.184
34.19.93.20235.204.101.241
34.19.34.5035.204.48.32
34.59.244.194
34.9.99.224
34.68.27.146
34.41.178.137
34.123.151.210
34.135.61.140
34.121.166.52
34.31.121.70

自定义 PostgreSQL

自定义 PostgreSQL 实例仅适用于混合自托管部署。
可以使用自定义 PostgreSQL 实例而不是控制平面自动创建的实例。指定 POSTGRES_URI_CUSTOM 环境变量以使用自定义 PostgreSQL 实例。 多个部署可以共享同一个 PostgreSQL 实例。例如,对于 Deployment APOSTGRES_URI_CUSTOM 可以设置为 postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>,对于 Deployment BPOSTGRES_URI_CUSTOM 可以设置为 postgres://<user>:<password>@/<database_name_2>?host=<hostname_1><database_name_1>database_name_2 是同一实例中的不同数据库,但 <hostname_1> 是共享的。同一数据库不能用于单独的部署

自定义 Redis

自定义 Redis 实例仅适用于混合自托管部署。
可以使用自定义 Redis 实例而不是控制平面自动创建的实例。指定 REDIS_URI_CUSTOM 环境变量以使用自定义 Redis 实例。 多个部署可以共享同一个 Redis 实例。例如,对于 Deployment AREDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/1,对于 Deployment BREDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/212 是同一实例中的不同数据库编号,但 <hostname_1> 是共享的。同一数据库编号不能用于单独的部署

LangSmith 跟踪

Agent Server 自动配置为向 LangSmith 发送跟踪。有关每个部署选项的详细信息,请参阅下表。
混合自托管
必需
跟踪到 LangSmith SaaS。
可选
禁用跟踪或跟踪到 LangSmith SaaS。
可选
禁用跟踪、跟踪到 LangSmith SaaS 或跟踪到自托管 LangSmith。

遥测

Agent Server 自动配置为报告遥测元数据以用于计费目的。有关每个部署选项的详细信息,请参阅下表。
混合自托管
遥测发送到 LangSmith SaaS。遥测发送到 LangSmith SaaS。用于气隙许可证密钥的自报告使用情况(审计)。
用于 LangSmith 许可证密钥的遥测发送到 LangSmith SaaS。

许可

Agent Server 自动配置为执行许可证密钥验证。有关每个部署选项的详细信息,请参阅下表。
混合自托管
LangSmith API 密钥针对 LangSmith SaaS 验证。LangSmith API 密钥针对 LangSmith SaaS 验证。气隙许可证密钥或平台许可证密钥针对 LangSmith SaaS 验证。

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.