服务器基础设施
除了代理服务器本身,以下每个服务器的基础设施组件也包含在广义的“数据平面”定义中:- PostgreSQL:用户、运行和记忆数据的持久化层。
- Redis:用于工作进程间通信和存储临时元数据。
- 密钥存储:安全地管理环境密钥。
- 自动伸缩器:根据负载扩展服务器容器。
“监听器”应用程序
数据平面“监听器”应用程序定期调用控制平面 API 以:- 确定是否应创建新的部署。
- 确定是否应更新现有部署(即新的修订版)。
- 确定是否应删除现有部署。
PostgreSQL
PostgreSQL 存储服务器资源(线程、运行、助手、定时任务)以及保存在长期记忆存储中的项目。它也是检查点(图执行状态)的默认后端。您可以选择将检查点存储在 MongoDB 中——请参阅配置检查点后端。无论检查点后端如何,始终需要 PostgreSQL。Redis
Redis 在每个代理服务器中用作服务器和队列工作进程之间的通信方式,并用于存储临时元数据。Redis 中不存储任何用户或运行数据。通信
代理服务器中的所有运行都由属于每个部署的后台工作进程池执行。为了启用这些运行的某些功能(例如取消和输出流),我们需要一个在服务器和处理特定运行的工作进程之间进行双向通信的通道。我们使用 Redis 来组织这种通信。- Redis 列用作在创建新运行时唤醒工作进程的机制。此列表中仅存储一个哨兵值,不存储实际的运行信息。然后,工作进程从 PostgreSQL 检索运行信息。
- Redis 字符串和 Redis PubSub 频道的组合用于服务器向相应的工作进程传达运行取消请求。
- Redis PubSub 频道由工作进程用于在处理运行时广播代理的流式输出。服务器中任何打开的
/stream请求都将订阅该频道,并在事件到达时将任何事件转发到响应。Redis 中从不存储任何事件。
临时元数据
代理服务器中的运行可能因特定故障而重试(目前仅针对运行期间遇到的瞬时 PostgreSQL 错误)。为了限制重试次数(目前限制为每次运行 3 次尝试),我们在运行被拾取时将尝试次数记录在 Redis 字符串中。这不包含除其 ID 之外的任何运行特定信息,并在短时间后过期。数据平面功能
本节描述数据平面的各种功能。数据区域
仅适用于云
数据区域仅适用于云部署。
自动伸缩
生产类型的部署会自动扩展到最多 10 个容器。伸缩基于 3 个指标:
- CPU 利用率
- 内存利用率
- 待处理(进行中)运行的数量
静态 IP 地址
仅适用于云
静态 IP 地址仅适用于云部署。
有效负载大小
仅适用于云
有效负载大小限制仅适用于云部署。
413 Payload Too Large 错误。
自定义 PostgreSQL
可以使用自定义 PostgreSQL 实例来替代控制平面自动创建的实例。指定POSTGRES_URI_CUSTOM 环境变量以使用自定义 PostgreSQL 实例。
多个部署可以共享同一个 PostgreSQL 实例。例如,对于 Deployment A,POSTGRES_URI_CUSTOM 可以设置为 postgres://<user>:<password>@/<database_name_1>?host=<hostname_1>,对于 Deployment B,POSTGRES_URI_CUSTOM 可以设置为 postgres://<user>:<password>@/<database_name_2>?host=<hostname_1>。<database_name_1> 和 database_name_2 是同一实例内的不同数据库,但 <hostname_1> 是共享的。不能将同一数据库用于不同的部署。
自定义 Redis
可以使用自定义 Redis 实例来替代控制平面自动创建的实例。指定 REDIS_URI_CUSTOM 环境变量以使用自定义 Redis 实例。 多个部署可以共享同一个 Redis 实例。例如,对于Deployment A,REDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/1,对于 Deployment B,REDIS_URI_CUSTOM 可以设置为 redis://<hostname_1>:<port>/2。1 和 2 是同一实例内的不同数据库编号,但 <hostname_1> 是共享的。不能将同一数据库编号用于不同的部署。
MongoDB 检查点
您可以使用 MongoDB 作为检查点存储的替代后端。配置后,MongoDB 仅处理检查点数据——所有其他服务器资源仍需要 PostgreSQL。 有关设置说明,请参阅配置检查点后端。LangSmith 追踪
代理服务器会自动配置为将追踪发送到 LangSmith。有关每个部署选项的详细信息,请参见下表。| 云 | 混合 | 自托管 |
|---|---|---|
| 必需 追踪到 LangSmith SaaS。 | 可选 禁用追踪或追踪到 LangSmith SaaS。 | 可选 禁用追踪、追踪到 LangSmith SaaS 或追踪到自托管 LangSmith。 |
遥测
代理服务器会自动配置为报告遥测元数据以用于计费。有关每个部署选项的详细信息,请参见下表。| 云 | 混合 | 自托管 |
|---|---|---|
| 遥测数据发送到 LangSmith SaaS。 | 遥测数据发送到 LangSmith SaaS。 | 用于气隙许可证密钥的自报告使用情况(审计)。 用于 LangSmith 许可证密钥的遥测数据发送到 LangSmith SaaS。 |
许可
代理服务器会自动配置为执行许可证密钥验证。有关每个部署选项的详细信息,请参见下表。| 云 | 混合 | 自托管 |
|---|---|---|
| LangSmith API 密钥针对 LangSmith SaaS 进行验证。 | LangSmith API 密钥针对 LangSmith SaaS 进行验证。 | 气隙许可证密钥或平台许可证密钥针对 LangSmith SaaS 进行验证。 |
通过 MCP 将这些文档连接到 Claude、VSCode 等,以获取实时答案。

