主题
使用 Terraform 部署 LangSmith
使用 LangChain 的生产级 Terraform 模块,在 AWS、Azure 或 GCP 上预置 LangSmith 自托管。
LangChain 为 LangSmith 自托管发布了生产级 Terraform 模块,位于 github.com/langchain-ai/terraform。这些模块会预置云基础(网络、集群、数据库、缓存、对象存储、密钥、DNS),并使用合理默认值安装 LangSmith Helm chart。
如果你希望从第一天起就使用基础设施即代码,请采用此路径。如果你已用自己的工具管理云基础设施,只需要安装应用,请改为遵循 Helm 安装指南。
TIP
更偏好 Helm? Kubernetes 设置指南介绍了如何在任何符合规范的集群上使用 Helm 安装,无需 Terraform。Terraform 路径将集群预置、密钥接线和 Helm release 捆绑到一个工作流中。
选择提供商
AWS (EKS)
预置 EKS、RDS PostgreSQL、ElastiCache、S3 和网络。
Azure (AKS)
预置 AKS、Azure Database for PostgreSQL、Azure Managed Redis、Blob Storage 和 Key Vault。
GCP (GKE)
预置 GKE、Cloud SQL、Memorystore、GCS 和 Workload Identity。
前置条件
在运行模块之前安装以下工具:
| 工具 | 版本 | 用途 |
|---|---|---|
terraform | 1.5 | 运行模块 |
kubectl | 1.33 | 预置后检查集群 |
helm | 3.12 | 管理 LangSmith chart release |
| Cloud CLI | 最新 | 目标提供商的 aws、az 或 gcloud |
你还需要:
- LangSmith 许可证密钥。联系我们的销售团队申请。
- 目标云账户中创建 VPC 或 VNet 网络、托管 Kubernetes 集群、托管数据库、对象存储、密钥和 IAM 角色的权限。
- 用于 LangSmith UI 端点的已注册域名(或子域)。
部署层级
通过一个 Terraform 变量选择层级。模块会相应地调整每个依赖资源的规格。
| 层级 | PostgreSQL | Redis | ClickHouse | 使用场景 |
|---|---|---|---|---|
dev | 集群内 | 集群内 | 集群内 | 演示、评估、短期 POC |
production | 云托管(RDS、Cloud SQL、Azure Database) | 云托管(ElastiCache、Memorystore、Azure Cache) | LangChain 托管 ClickHouse | 持久、可扩展的生产环境 |
production-large | 云托管,更大的实例规格 | 云托管,更大的实例规格 | LangChain 托管 ClickHouse | 高吞吐生产环境 |
WARNING
在开发和 POC 中使用集群内 ClickHouse,不要用于生产。生产部署必须使用 LangChain 托管 ClickHouse 或自管理的外部 ClickHouse 集群。始终需要 Blob 存储,因为追踪负载不能存放在 ClickHouse 中。
模块预置的内容
- 网络: 带公有和私有子网、NAT 和安全组的 VPC 或 VNet。
- 计算: 托管 Kubernetes(EKS、AKS 或 GKE),以及按层级调整规格的自动扩缩节点池。
- 数据平面: 托管 PostgreSQL、托管 Redis 或缓存,以及用于追踪负载的 Blob 存储桶。
- 密钥: 云原生密钥存储(AWS SSM Parameter Store、Azure Key Vault、GCP Secret Manager),由 External Secrets Operator 同步到 Kubernetes。
- Ingress: 默认使用云原生负载均衡器。多命名空间数据平面部署可使用 Envoy Gateway(Gateway API)。
- 可选加固(目前为 AWS): 带 FQDN 出口允许列表的 AWS Network Firewall、WAFv2、CloudTrail,以及带 SSM 堡垒机访问的私有 EKS API 端点。
企业功能开关
每个模块都为可选的 LangSmith 附加组件提供开关。在运行 make apply 之前,在 tfvars 文件中切换每个开关。
- LangSmith Deployment(
enable_deployments):Agent Server 以及运行和管理已部署 agent 的 host-backend、listener 和 operator。 - Fleet(
enable_fleet):agent 构建产品(原 Agent Builder),作为独立服务部署(chart v0.15+)。 - Insights(
enable_insights):由 ClickHouse 支持的分析。 - Polly(
enable_polly):AI 评估和监控。
后续步骤
- 选择上述提供商并遵循部署指南。
- 查看 PostgreSQL、ClickHouse、Redis 和 Kubernetes 的必需依赖版本。
- 使用扩缩容指南规划容量。
- 应用运行后,启用 LangSmith Deployment,将 agent 部署和管理添加到 UI。