Skip to content

重要提示
自托管 LangSmith 是企业版计划的附加组件,专为我们规模最大、对安全性要求最高的客户设计。有关更多详细信息,请参阅定价。如果您希望获取许可证密钥以在您的环境中试用 LangSmith,请联系我们的销售团队。

根据您的规模、安全性和基础设施需求,LangSmith 支持不同的自托管配置。

您可以在不部署代理的情况下,将 LangSmith 用于可观测性和评估。或者,您可以设置完整的自托管平台,用于可观测性、评估和代理部署。此外,您也可以直接部署代理,而无需使用控制平面。

本页概述了每种自托管模式:

模式包含内容最适合部署方法
可观测性与评估
  • LangSmith (UI + API)
  • 后端服务(队列、Playground、ACE)
  • 数据存储:PostgreSQL、Redis、ClickHouse,可选对象存储
  • 需要自托管可观测性、追踪和评估的团队
  • 运行 LangSmith 而不部署代理/图
  • Docker Compose(开发/测试)
  • Kubernetes + Helm(生产环境)
可观测性、评估与部署
  • 包含“可观测性与评估”的所有内容
  • 控制平面(部署 UI、版本管理、Studio)
  • 数据平面(代理服务器 Pod)
  • 用于编排的 Kubernetes Operator
  • 需要私有 LangChain Cloud 的企业团队
  • 用于管理多个代理/图的集中式 UI/API
  • 集成的可观测性和编排
  • Kubernetes 配合 Helm(必需)
  • 运行在 EKS、GKE、AKS 或自管理集群上
独立服务器
  • 代理服务器容器
  • 需要 PostgreSQL + Redis(共享或专用)
  • 可选的 LangSmith 集成以支持追踪
  • 一个或少数几个代理的轻量级部署
  • 将代理服务器集成为微服务
  • 倾向于自行管理扩展和 CI/CD 的团队
  • Docker / Docker Compose(开发/测试)
  • Kubernetes + Helm(生产环境)
  • 任何容器运行时或虚拟机(ECS、EC2、ACI 等)

有关设置指南,请参阅:

支持的计算平台:Kubernetes(用于 LangSmith 部署),任何计算平台(用于独立服务器)

自托管 LangSmith 可观测性与评估 ​

托管一个包含 UI 和 API 中可观测性、追踪和评估功能的 LangSmith 实例,但不具备通过控制平面部署代理的能力。

这包括:

服务:

  • LangSmith 前端 UI
  • LangSmith 后端 API
  • LangSmith 平台后端
  • LangSmith Playground
  • LangSmith 队列
  • LangSmith ACE(任意代码执行)后端

存储服务:

  • ClickHouse(追踪和反馈数据)
  • PostgreSQL(操作数据)
  • Redis(队列和缓存)
  • 对象存储(可选,但生产环境推荐使用)
LangSmith architecture showing services and datastoresLangSmith architecture showing services and datastores

要访问 LangSmith UI 并发送 API 请求,您需要暴露 LangSmith 前端 服务。根据您的安装方法,这可以是一个负载均衡器或主机上暴露的端口。

服务 ​

服务描述
LangSmith 前端前端使用 Nginx 来提供 LangSmith UI 并将 API 请求路由到其他服务器。这作为应用程序的入口点,并且是唯一必须暴露给用户的组件。
LangSmith 后端后端是 CRUD API 请求的主要入口点,并处理应用程序的大部分业务逻辑。这包括处理来自前端和 SDK 的请求、准备要摄取的追踪数据,以及支持 hub API。
LangSmith 队列队列处理传入的追踪和反馈数据,确保它们被异步摄取并持久化到追踪和反馈数据存储中,处理数据完整性检查,确保成功插入数据存储,并在数据库错误或暂时无法连接到数据库等情况下处理重试。
LangSmith 平台后端平台后端是另一个关键服务,主要处理身份验证、运行(run)摄取和其他高吞吐量任务。
LangSmith PlaygroundPlayground 是一个服务,负责将请求转发到各种 LLM API,以支持 LangSmith Playground 功能。这也可以用于连接到您自己的自定义模型服务器。
LangSmith ACE(任意代码执行)后端ACE 后端是一个在安全环境中执行任意代码的服务。这用于支持在 LangSmith 中运行自定义代码。

存储服务 ​

LangSmith 默认会捆绑所有存储服务。您可以将其配置为使用所有存储服务的外部版本。在生产环境中,我们强烈建议使用外部存储服务。

服务描述
ClickHouseClickHouse 是一个用于在线分析处理(OLAP)的高性能、面向列的 SQL 数据库管理系统(DBMS)。

LangSmith 使用 ClickHouse 作为追踪和反馈(高吞吐量数据)的主要数据存储。
PostgreSQLPostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。

LangSmith 使用 PostgreSQL 作为事务性工作负载和操作数据(除了追踪和反馈之外的几乎所有内容)的主要数据存储。
RedisRedis 是一个功能强大的内存键值数据库,可将数据持久化到磁盘。通过将数据保存在内存中,Redis 为缓存等操作提供了高性能。

LangSmith 使用 Redis 来支持队列和缓存操作。
对象存储LangSmith 支持多种对象存储提供商,包括 AWS S3、Azure Blob Storage 和 Google Cloud Storage。

LangSmith 使用对象存储来存储大文件,例如追踪工件(artifact)、反馈附件和其他大型数据对象。对象存储是可选的,但强烈建议用于生产部署。

设置方法 ​

  • Docker Compose(仅限开发/测试)
  • Kubernetes + Helm(生产环境推荐)

设置指南 ​

启用 LangSmith 部署 ​

LangSmith 部署是一个可选的附加组件,可以在您的 LangSmith 实例上启用。它非常适合希望拥有一个集中式、UI 驱动的平台来部署和管理多个代理和图(graph)的企业团队,并且所有基础设施、数据和编排都完全在他们的控制之下。

这包括 LangSmith 的所有内容,外加:

组件职责运行位置管理方
控制平面
  • 用于创建部署和修订版本的 UI
  • 用于部署管理的 API
您的云环境您
数据平面
  • 用于协调部署的 Operator/监听器
  • 代理服务器(代理/图)
  • 支持服务(Postgres、Redis 等)
您的云环境您

您在自己的基础设施内完全运行控制平面和数据平面。您负责配置和管理所有组件。

了解更多关于控制平面和数据平面架构概念的信息。

Full platform architecture with control plane and data planeFull platform architecture with control plane and data plane

工作流程 ​

如果您想自托管 LangSmith 以实现可观测性、评估和代理部署,请按照以下步骤操作:

安装自托管 LangSmith

您必须已经在您的云环境中安装了自托管 LangSmith 实例,并拥有一个 Kubernetes 集群(控制平面和数据平面所必需)。

本地测试您的图

使用 langgraph-cli 或 Studio 在本地测试您的图。

启用 LangSmith 部署

按照设置指南在您的 LangSmith 实例上启用 LangSmith 部署。

独立服务器 ​

独立服务器选项是运行 LangSmith 最轻量级、最灵活的方式。与其他模式不同,您只管理一个简化的 数据平面,该平面由代理服务器及其所需的后端支持服务(PostgreSQL、Redis 等)组成。

这包括:

组件职责运行位置管理方
控制平面不适用不适用不适用
数据平面
  • 代理服务器
  • Postgres、Redis 等
您的云环境您

此选项让您完全控制扩展、部署和 CI/CD 流水线,同时仍允许与 LangSmith 进行可选集成以实现追踪和评估。

不要在无服务器环境中运行独立服务器。缩放到零可能导致任务丢失,并且扩展可能无法可靠工作。

Standalone server architectureStandalone server architecture

工作流程 ​

  1. 使用 langgraph-cli 或 Studio 在本地定义和测试您的图。
  2. 将您的代理打包为 Docker 镜像。
  3. 将代理服务器部署到您选择的计算平台(Kubernetes、Docker、虚拟机)。
  4. (可选)配置 LangSmith API 密钥和端点,以便服务器将追踪和评估报告回 LangSmith(自托管或 SaaS)。

支持的计算平台 ​

  • Kubernetes:使用 LangSmith Helm chart 在 Kubernetes 集群中运行代理服务器。这是生产级部署的推荐选项。
  • Docker:在任何支持 Docker 的计算平台(本地开发机、虚拟机、ECS 等)中运行。这最适合开发或小规模工作负载。

设置指南 ​

要设置代理服务器,请参阅应用程序部署部分中的操作指南。

LangChain 中文文档