跳到主内容

架构概述

需要企业许可证

自托管 LangSmith 是企业版计划的附加功能,专为我们规模最大、最注重安全的客户设计。有关更多详细信息,请参阅我们的定价页面,如果您想获取许可证密钥以在您的环境中试用 LangSmith,请通过sales@langchain.dev联系我们。

LangSmith 可以通过 Kubernetes(推荐)或 Docker 在您控制的云环境中运行。

LangSmith 应用程序由多个组件组成,包括 5 个 LangSmith 服务器和 3 个有状态服务

  • LangSmith 前端
  • LangSmith 后端
  • LangSmith 平台后端
  • LangSmith 游乐场
  • LangSmith 队列
  • LangSmith ACE(任意代码执行)后端
  • ClickHouse
  • Postgres
  • Redis

./static/self_hosted_architecture_diagram.png

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

存储服务

注意

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

ClickHouse

ClickHouse 是一种高性能、面向列的 SQL 数据库管理系统 (DBMS),用于联机分析处理 (OLAP)。

LangSmith 使用 ClickHouse 作为跟踪和反馈(高容量数据)的主要数据存储。

PostgreSQL

PostgreSQL 是一种功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载

LangSmith 使用 Postgres 作为事务性工作负载和操作数据(除了跟踪和反馈之外的几乎所有内容)的主要数据存储。

Redis

Redis 是一种功能强大的内存键值数据库,可持久化到磁盘。通过在内存中保存数据,Redis 为缓存等操作提供高性能。

LangSmith 使用 Redis 支持队列/缓存操作。

服务

LangSmith 前端

前端使用 Nginx 提供 LangSmith 用户界面并将 API 请求路由到其他服务器。这作为应用程序的入口点,并且是唯一必须向用户暴露的组件。

LangSmith 后端

后端是 API 请求的主要入口点,并处理应用程序的大部分业务逻辑。这包括处理来自前端和 SDK 的请求、准备要摄取的跟踪以及支持 hub API。

LangSmith 队列

队列处理传入的跟踪和反馈,以确保它们异步摄取并持久化到跟踪和反馈数据存储中,处理数据完整性检查并确保成功插入到数据存储中,以及处理在数据库错误或暂时无法连接到数据库等情况下的重试。

LangSmith 平台后端

平台后端是一个内部服务,主要处理身份验证和其他高容量任务。用户无需直接与此服务交互。

LangSmith 游乐场

游乐场是一个服务,负责将请求转发到各种 LLM API,以支持 LangSmith 游乐场功能。这也可以用于连接您自己的自定义模型服务器。

LangSmith ACE(任意代码执行)后端

ACE 后端是一个服务,负责在安全环境中执行任意代码。这用于支持在 LangSmith 中运行自定义代码。


此页面有帮助吗?


您可以留下详细反馈 在 GitHub 上.