LangGraph 数据平面¶
“数据平面”这一术语广泛用于指代LangGraph 服务器(部署)、每个服务器对应的基础设施以及持续轮询更新的“监听器”应用程序,这些更新来自LangGraph 控制平面。
服务器基础设施¶
除了LangGraph Server本身之外,以下每个服务器所包含的基础设施也被纳入“数据平面”的广泛定义中:
更多详细信息,请参阅LangGraph 平台架构。
“监听器”应用程序¶
数据平面的“监听器”应用程序会定期调用控制平面API,以:
- 确定是否应创建新的部署。
- 确定是否应更新现有的部署(即新修订)。
- 确定是否应删除现有的部署。
换句话说,数据平面的“监听器”读取控制平面的最新状态(期望状态),并采取行动来协调未解决的部署(当前状态),使其与最新的状态匹配。
数据平面特性¶
本节描述数据平面的各种功能。
简版与企业版¶
LangGraph Server有两个版本:Lite
和 Enterprise
。
Lite
版本是LangGraph Server的一个受限版本,可以在本地或自托管环境中运行(每年最多执行100万个节点)。Lite
版本仅适用于独立容器部署选项。
Enterprise
版本是LangGraph Server的完整版本。要使用Enterprise
版本,您必须获取一个许可证密钥,并在运行Docker镜像时指定该密钥。如需获取许可证密钥,请通过电子邮件联系sales@langchain.dev。Enterprise
版本适用于云SaaS、自托管数据平面和自托管控制平面部署选项。
功能差异:
Lite | Enterprise | |
---|---|---|
计划任务 | ❌ | ✅ |
自定义认证 | ❌ | ✅ |
自动扩展¶
生产
类型部署会自动扩展到最多10个容器。扩展基于以下三个指标:
- CPU利用率
- 内存利用率
- 挂起(正在进行中)运行的数量
对于CPU利用率,自动扩展器的目标是75%的利用率。这意味着自动扩展器会根据CPU利用率是否接近75%,调整容器数量。对于内存利用率,自动扩展器同样以75%为目标。
对于挂起运行的数量,自动扩展器的目标是10个挂起运行。例如,如果当前容器数量为1,但挂起运行的数量为20,则自动扩展器会将部署扩展至2个容器(20个挂起运行/2个容器=每个容器10个挂起运行)。
每个指标独立计算,自动扩展器会根据导致容器数量最多的指标来确定扩展操作。
缩减操作会在采取任何行动前延迟30分钟。换句话说,如果自动扩展器决定缩减部署,它首先等待30分钟再进行缩减。30分钟后,重新计算指标,如果重新计算的指标导致的容器数量少于当前数量,则部署会缩减。否则,部署保持扩展状态。“冷却”期间确保部署不会频繁地扩展和缩减。
静态IP地址¶
仅限云SaaS
静态IP地址仅适用于云SaaS部署。
所有从2025年1月6日之后创建的部署都将通过NAT网关访问。此NAT网关将具有多个静态IP地址,具体取决于数据区域。请参阅下表中的静态IP地址列表:
美国 | 欧洲 |
---|---|
35.197.29.146 | 34.13.192.67 |
34.145.102.123 | 34.147.105.64 |
34.169.45.153 | 34.90.22.166 |
34.82.222.17 | 34.147.36.213 |
35.227.171.135 | 34.32.137.113 |
34.169.88.30 | 34.91.238.184 |
34.19.93.202 | 35.204.101.241 |
34.19.34.50 | 35.204.48.32 |
自定义Postgres¶
可以使用自定义Postgres实例代替由控制平面自动创建的实例。通过设置POSTGRES_URI_CUSTOM
环境变量来使用自定义Postgres实例。
多个部署可以共享同一个Postgres实例。例如,对于部署A
,POSTGRES_URI_CUSTOM
可以设置为postgres://<用户>:<密码>@/<数据库名称1>?host=<主机名1>
,对于部署B
,POSTGRES_URI_CUSTOM
可以设置为postgres://<用户>:<密码>@/<数据库名称2>?host=<主机名1>
。<数据库名称1>和数据库名称2
是同一实例中的不同数据库,但<主机名1>是共享的。同一个数据库不能用于不同的部署。
自定义Redis¶
可以使用自定义Redis实例代替由控制平面自动创建的实例。通过设置REDIS_URI_CUSTOM环境变量来使用自定义Redis实例。
多个部署可以共享同一个Redis实例。例如,对于部署A
,REDIS_URI_CUSTOM
可以设置为redis://<主机名1>:<端口>/1
,对于部署B
,REDIS_URI_CUSTOM
可以设置为redis://<主机名1>:<端口>/2
。1和2是同一实例中的不同数据库编号,但<主机名1>是共享的。同一个数据库编号不能用于不同的部署。
LangSmith跟踪¶
LangGraph Server会自动配置为向LangSmith发送跟踪信息。有关每个部署选项的详细信息,请参见下表。
云SaaS | 自托管数据平面 | 自托管控制平面 | 独立容器 |
---|---|---|---|
必须 跟踪发送到LangSmith SaaS。 |
可选 禁用跟踪或跟踪发送到LangSmith SaaS。 |
可选 禁用跟踪或跟踪发送到自托管LangSmith。 |
可选 禁用跟踪、跟踪发送到LangSmith SaaS或跟踪发送到自托管LangSmith。 |
监控数据¶
LangGraph Server会自动配置为报告监控元数据,以便计费。有关每个部署选项的详细信息,请参见下表。
云SaaS | 自托管数据平面 | 自托管控制平面 | 独立容器 |
---|---|---|---|
跟踪发送到LangSmith SaaS。 | 跟踪发送到LangSmith SaaS。 | 空气隔绝许可证密钥的自我报告使用情况(审计)。 跟踪发送到LangSmith SaaS的LangGraph平台许可证密钥。 |
空气隔绝许可证密钥的自我报告使用情况(审计)。 跟踪发送到LangSmith SaaS的LangGraph平台许可证密钥。 |
许可证验证¶
LangGraph Server会自动配置为执行许可证密钥验证。有关每个部署选项的详细信息,请参见下表。
云SaaS | 自托管数据平面 | 自托管控制平面 | 独立容器 |
---|---|---|---|
LangSmith API密钥验证针对LangSmith SaaS。 | LangSmith API密钥验证针对LangSmith SaaS。 | 空气隔绝许可证密钥或LangGraph平台许可证密钥验证针对LangSmith SaaS。 | 空气隔绝许可证密钥或LangGraph平台许可证密钥验证针对LangSmith SaaS。 |