前言
参考官方文档:
- https://docs.langchain.com/langgraph-platform/deployment-options
- https://docs.langchain.com/langgraph-platform/self-hosted
- https://docs.langchain.com/langgraph-platform/deploy-self-hosted-full-platform
部署选项
使用LangGraph 平台部署有 3 个主要选项:
快速比较:
云 | 杂交种 | 自托管 | |
---|---|---|---|
描述 | 所有组件都在 LangChain 的云中运行 | 控制平面在 LangChain 的云中运行;数据平面在您的云中运行 | 所有组件都在您的云中运行 |
持续集成/持续交付 | 由平台内部管理 | 由您进行外部管理 | 由您进行外部管理 |
数据/计算驻留 | LangChain云 | 您的云 | 您的云 |
LangSmith 兼容性 | 追踪至 LangSmith SaaS | 追踪至 LangSmith SaaS | 追踪自托管 LangSmith |
自托管部署概述
自托管部署选项允许您完全在自己的云环境中运行所有组件。您可以选择两种部署模式:
全平台
概述
全平台部署模型是一种完全自托管的解决方案,您可以在云中同时管理控制平面和数据平面。此选项让您完全控制并负责控制平面和数据平面基础设施。
控制平面 | 数据平面 | |
---|---|---|
它是什么? | 用于创建部署和修订的控制平面 UI用于创建部署和修订的控制平面 API | 数据平面“监听器”,用于协调部署与控制平面状态LangGraph 服务器Postgres、Redis 等 |
它托管在哪里? | 您的云 | 您的云 |
谁来提供和管理它? | 你 | 你 |
要求
- 您可以使用
langgraph-cli
和/或LangGraph Studio应用程序在本地测试图表。 - 您使用
langgraph build
命令来构建图像。 - 您已部署自托管 LangSmith 实例。
- 您正在为 LangSmith 实例使用 Ingress。所有代理都将作为 Kubernetes 服务部署在此 Ingress 后面。
架构图
计算平台
Kubernetes
- Kubernetes:全平台部署模型支持将控制平面和数据平面基础设施部署到任何Kubernetes集群。
独立服务器
概述
仅独立服务器部署模型是限制最少的部署选项。它没有控制平面。您可以管理简化版本的数据平面基础架构。
控制平面 | 数据平面 | |
---|---|---|
它是什么? | 无 | LangGraph 服务器Postgres、Redis 等 |
它托管在哪里? | 无 | 您的云 |
谁来提供和管理它? | 无 | 你 |
LangGraph 平台不应部署在无服务器环境中。规模缩减至零可能会导致任务丢失,而规模扩大则无法可靠地进行。
架构图
计算平台
Kubernetes
仅数据平面部署模型支持将数据平面基础设施部署到 Kubernetes 集群。
Docker
仅数据平面部署模型支持将数据平面基础设施部署到任何 Docker 支持的计算平台。
自托管平台部署
前置条件
- 您正在使用 Kubernetes。
- 您已部署自托管的 LangSmith。
- 使用LangGraph CLI在本地测试您的应用程序。
- 使用LangGraph CLI构建 Docker 镜像(即
langgraph build
)并将其推送到 Kubernetes 集群可以访问的注册表。 KEDA
已安装在您的集群上。
helm repo add kedacore https://kedacore.github.io/charts
helm install keda kedacore/keda –namespace keda –create-namespace
入口配置
您必须为 LangSmith 实例设置一个入口。所有代理都将作为 Kubernetes 服务部署在此入口后面。
您可以使用本指南为您的实例设置入口。
您的集群中有可用于多个部署的空闲空间。
Cluster-Autoscaler
建议自动配置新节点。集群上有一个有效的动态 PV 预配器或 PV。您可以通过运行以下命令来验证:
1 | kubectl get storageclass |
- 从您的网络出口
https://beacon.langchain.com
。如果未在隔离模式下运行,则需要进行许可证验证和使用情况报告。有关更多详细信息,请参阅Egress 文档。
设置
在配置自托管 LangSmith 实例时,您需要启用该
langgraphPlatform
选项。这将配置一些关键资源。chart将使用另外两张图片。请使用最新版本中指定的镜像。
1 | hostBackendImage: |
- 在 langsmith 的配置文件(通常为
langsmith_config.yaml
)中启用该langgraphPlatform
选项。请注意,您还必须具有有效的 Ingress 设置:
1 | config: |
在您的
values.yaml
文件中,配置hostBackendImage
和operatorImage
选项(如果您需要镜像)您还可以通过覆盖此处的基本模板来为您的代理配置基本模板。
您可以从控制平面 UI创建部署。