跳到主要内容
重要 混合部署选项需要 企业 计划。
通过 混合 模型,您可以在自己的云环境中运行数据平面(您的 LangGraph Server 部署和代理工作负载),而 LangChain 则托管和管理控制平面(LangSmith UI 和编排)。这种设置让您能够灵活地自托管运行时环境,同时享受托管 LangSmith 实例的便利。 以下步骤介绍了如何将自托管的数据平面连接到托管的 LangSmith 控制平面。

Kubernetes

先决条件

  1. 您的集群上已安装 KEDA
      helm repo add kedacore https://kedacore.github.io/charts
      helm install keda kedacore/keda --namespace keda --create-namespace
    
  2. 您的集群上已安装有效的 Ingress 控制器。有关为部署配置入口的更多信息,请参阅 为安装创建入口
  3. 您的集群中有足够的空闲空间用于多个部署。建议使用 Cluster-Autoscaler 自动配置新节点。
  4. 您需要启用对两个控制平面 URL 的出口。监听器会轮询这些端点以获取部署信息。

设置

  1. 向我们提供您的 LangSmith 组织 ID。您的 LangSmith 组织将被配置为在您的云中部署数据平面。
  2. 从 LangSmith UI 创建一个监听器。Listener 数据模型配置用于实际的 “监听器”应用程序
    1. 在左侧导航栏中,选择 部署 > 监听器
    2. 在页面右上角,选择 + 创建监听器
    3. 为监听器输入一个唯一的 计算 ID计算 ID 是一个用户定义的标识符,在当前 LangSmith 工作区中的所有监听器中应该是唯一的。当最终用户创建新部署时,会显示 计算 ID。确保 计算 ID 向最终用户提供有关其 LangGraph Server 部署将部署到何处的上下文。例如,计算 ID 可以设置为 k8s-cluster-name-dev-01。在此示例中,Kubernetes 集群的名称是 k8s-cluster-namedev 表示该集群保留用于“开发”工作负载,01 是一个数字后缀,以减少命名冲突。
    4. 输入一个或多个 Kubernetes 命名空间。稍后,“监听器”应用程序将被配置为部署到每个这些命名空间。
    5. 在页面右上角,选择 提交
    6. 创建监听器后,复制监听器 ID。稍后在 Kubernetes 集群中安装实际的“监听器”应用程序时(步骤 5)会用到它。
    重要 从 LangSmith UI 创建监听器不会在 Kubernetes 集群中安装“监听器”应用程序。
  3. 提供了一个 Helm chart 来在您的 Kubernetes 集群中安装必要的组件。
    • langgraph-listener:这是一个服务,用于侦听 LangChain 的 控制平面,以获取部署的更改并创建/更新下游 CRD。这是 “监听器”应用程序
    • LangGraphPlatform CRD:用于 LangSmith 部署的 CRD。这包含用于管理 LangSmith 部署实例的规范。
    • langgraph-platform-operator:此操作符处理 LangSmith CRD 的更改。
  4. 配置您的 langgraph-dataplane-values.yaml 文件。
      config:
        langsmithApiKey: "" # API Key of your Workspace
        langsmithWorkspaceId: "" # Workspace ID
        hostBackendUrl: "https://api.host.langchain.com" # Only override this if on EU
        smithBackendUrl: "https://api.smith.langchain.com" # Only override this if on EU
        langgraphListenerId: "" # Listener ID from Step 2f
        watchNamespaces: "" # comma-separated list of Kubernetes namespaces that the listener and operator will deploy to
        enableLGPDeploymentHealthCheck: true # enable/disable health check step for deployments
    
      ingress:
        hostname: "" # specify a hostname that will be configured for all deployments
    
      operator:
        enabled: true # set this to `false` if the operator is already deployed in the current Kubernetes namespace
        createCRDs: true # set this to `false` if the CRD has been previously installed in the current Kubernetes cluster
    
    • config.langsmithApiKeylanggraph-listener 部署使用 langsmithApiKey 与 LangChain 的 LangGraph 控制平面 API 进行身份验证。
    • config.langsmithWorkspaceIdlanggraph-listener 部署与 LangSmith 工作区中的 LangGraph Server 部署耦合。换句话说,langgraph-listener 部署只能管理指定 LangSmith 工作区 ID 中的 LangGraph Server 部署。
    • config.langgraphListenerId:除了与 LangSmith 工作区耦合外,langgraph-listener 部署还与监听器耦合。当创建新的 LangGraph Server 部署时,它会自动与 langgraphListenerId 耦合。指定 langgraphListenerId 可确保 langgraph-listener 部署只能管理与 langgraphListenerId 耦合的 LangGraph Server 部署。
    • config.watchNamespaces:一个逗号分隔的 Kubernetes 命名空间列表,langgraph-listener 部署将部署到这些命名空间。此列表应与步骤 2d 中指定的命名空间列表匹配。
    • config.enableLGPDeploymentHealthCheck:要禁用 LangGraph Server 健康检查,请将其设置为 false
    • ingress.hostname:作为部署工作流的一部分,langgraph-listener 部署尝试调用 LangGraph Server 健康检查端点(GET /ok)以验证应用程序是否已正确启动。典型的设置涉及为 LangGraph Server 部署创建共享 DNS 记录或域。这不由 LangSmith 管理。创建后,将 ingress.hostname 设置为该域,该域将用于完成健康检查。
    • operator.enabled:一个 Kubernetes 命名空间中只能部署 1 个 langgraph-platform-operator 实例。如果当前 Kubernetes 命名空间中已部署了 langgraph-platform-operator 实例,请将其设置为 false
    • operator.createCRDs:如果 Kubernetes 集群已安装 LangGraphPlatform CRD,请将此值设置为 false。在安装过程中,如果 CRD 已安装,将发生错误。如果同一 Kubernetes 集群上部署了多个监听器,则可能会出现这种情况。
  5. 部署 langgraph-dataplane Helm chart。
      helm repo add langchain https://github.com/langchain-ai/helm
      helm repo update
      helm upgrade -i langgraph-dataplane langchain/langgraph-dataplane --values langgraph-dataplane-values.yaml --wait --debug
    
  6. 如果成功,您将看到三个服务在您的命名空间中启动。
      NAME                                            READY   STATUS              RESTARTS   AGE
      langgraph-dataplane-listener-6dd4749445-zjmr4   0/1     ContainerCreating   0          26s
      langgraph-dataplane-operator-6b88879f9b-t76gk   1/1     Running             0          26s
      langgraph-dataplane-redis-0                     1/1     Running             0          25s
    
    您的混合基础设施现在已准备好创建部署。

后续步骤

基础设施设置完成后,您就可以部署应用程序了。有关构建和部署应用程序的说明,请参阅部署选项卡中的部署指南。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.