重要 混合部署选项需要企业版计划。
混合模型允许您在自己的云中运行数据平面 — 您的 Agent 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. 在左侧导航中,选择 Deployments > Listeners
    2. 在页面右上角,选择 + Create Listener
    3. 为监听器输入唯一的 Compute IDCompute ID 是一个用户定义的标识符,应在当前 LangSmith 工作区的所有监听器中是唯一的。当最终用户创建新部署时,会向他们显示 Compute ID。确保 Compute ID 向最终用户提供有关其 Agent Server 部署将部署到何处的上下文。例如,Compute ID 可以设置为 k8s-cluster-name-dev-01。在此示例中,Kubernetes 集群的名称是 k8s-cluster-namedev 表示集群保留给”开发”工作负载,01 是减少命名冲突的数字后缀。
    4. 输入一个或多个 Kubernetes 命名空间。稍后,“监听器”应用程序将配置为部署到这些命名空间中的每一个。
    5. 在页面右上角,选择 Submit
    6. 创建监听器后,复制监听器 ID。稍后在 Kubernetes 集群中安装实际的”监听器”应用程序时将使用它(步骤 5)。
    重要 从 LangSmith UI 创建监听器不会在 Kubernetes 集群中安装”监听器”应用程序。
  3. 提供 Helm chart 以在 Kubernetes 集群中安装必要的组件。
    • langgraph-listener:这是一个服务,它侦听 LangChain 的控制平面以获取对您的部署的更改,并创建/更新下游 CRD。这是”监听器”应用程序
    • LangGraphPlatform CRD:用于 LangSmith Deployment 的 CRD。这包含管理 LangSmith Deployment 实例的规范。
    • langgraph-platform-operator:此操作器处理对 LangSmith CRD 的更改。
  4. 配置您的 langgraph-dataplane-values.yaml 文件。
      config:
        langsmithApiKey: "" # 工作区的 API 密钥
        langsmithWorkspaceId: "" # 工作区 ID
        hostBackendUrl: "https://api.host.langchain.com" # 仅在欧盟时覆盖此项
        smithBackendUrl: "https://api.smith.langchain.com" # 仅在欧盟时覆盖此项
        langgraphListenerId: "" # 来自步骤 2f 的监听器 ID
        watchNamespaces: "" # 监听器和操作器将部署到的 Kubernetes 命名空间的逗号分隔列表
        enableLGPDeploymentHealthCheck: true # 启用/禁用部署的健康检查步骤
    
      ingress:
        hostname: "" # 指定将为所有部署配置的主机名
    
      operator:
        enabled: true # 如果操作器已在当前 Kubernetes 命名空间中部署,请将此设置为 `false`
        createCRDs: true # 如果 CRD 已在当前 Kubernetes 集群中安装,请将此设置为 `false`
    
    • config.langsmithApiKeylanggraph-listener 部署使用 langsmithApiKey 向 LangChain 的 LangGraph 控制平面 API 进行身份验证。
    • config.langsmithWorkspaceIdlanggraph-listener 部署耦合到 LangSmith 工作区中的 Agent Server 部署。换句话说,langgraph-listener 部署只能管理指定 LangSmith 工作区 ID 中的 Agent Server 部署。
    • config.langgraphListenerId:除了与 LangSmith 工作区耦合外,langgraph-listener 部署还与监听器耦合。当创建新的 Agent Server 部署时,它会自动耦合到 langgraphListenerId。指定 langgraphListenerId 可确保 langgraph-listener 部署只能管理耦合到 langgraphListenerId 的 Agent Server 部署。
    • config.watchNamespaceslanggraph-listener 部署将部署到的 Kubernetes 命名空间的逗号分隔列表。此列表应与步骤 2d 中指定的命名空间列表匹配。
    • config.enableLGPDeploymentHealthCheck:要禁用 Agent Server 健康检查,请将此设置为 false
    • ingress.hostname:作为部署工作流程的一部分,langgraph-listener 部署尝试调用 Agent Server 健康检查端点(GET /ok)以验证应用程序是否已正确启动。典型设置涉及为 Agent 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
    
    您的混合基础架构现在已准备好创建部署。

后续步骤

设置基础架构后,您就可以部署应用程序了。有关构建和部署应用程序的说明,请参阅部署选项卡中的部署指南。
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.