体系结构概述
自托管 LangSmith 是 Enterprise Plan 的一个附加组件,专为我们规模最大、安全性最强的客户而设计。有关更多详细信息,请参阅我们的定价页面,如果您想获取许可证密钥以在您的环境中试用 LangSmith,请通过 sales@langchain.dev 联系我们。
LangSmith 可以通过 Kubernetes(推荐)或 Docker 在您控制的云环境中运行。
LangSmith 应用程序由多个组件组成,包括 5 个 LangSmith 服务器和 3 个有状态服务:
- LangSmith 前端
- LangSmith 后端
- LangSmith 平台后端
- LangSmith 游乐场
- LangSmith 队列
- LangSmith ACE(任意代码执行)后端
- 点击屋
- Postgres
- Redis

要访问 LangSmith UI 并发送 API 请求,您需要公开 LangSmith 前端服务。根据您的安装方法,这可以是负载均衡器或主机上公开的端口。
存储服务
默认情况下,LangSmith 自托管将捆绑所有存储服务。可以将 LangSmith 配置为使用所有存储服务的外部版本。 在生产环境中,我们强烈建议使用外部 Storage Services。
点击屋
ClickHouse 是一个高性能、面向列的 SQL 数据库管理系统 (DBMS),用于在线分析处理 (OLAP)。
LangSmith 使用 ClickHouse 作为跟踪和反馈(大容量数据)的主要数据存储。
PostgreSQL 数据库
PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载
LangSmith 使用 Postgres 作为事务工作负载和运营数据(除跟踪和反馈之外的几乎所有数据)的主要数据存储。
Redis
Redis 是一个强大的内存中键值数据库,它持久保存在磁盘上。通过将数据保存在内存中,Redis 为缓存等作提供了高性能。
LangSmith 使用 Redis 来备份排队/缓存作。
服务业
LangSmith 前端
前端使用 Nginx 为 LangSmith UI 提供服务,并将 API 请求路由到其他服务器。它用作应用程序的入口点,并且是唯一必须向用户公开的组件。
LangSmith 后端
后端是 API 请求的主要入口点,处理应用程序的大部分业务逻辑。这包括处理来自前端和 SDK 的请求、准备用于摄取的跟踪以及支持中心 API。
LangSmith 队列
该队列处理传入的跟踪和反馈,以确保它们被异步提取并持久保存在跟踪和反馈数据存储中,处理数据完整性检查并确保成功插入数据存储,在数据库错误或暂时无法连接到数据库等情况下处理重试。
LangSmith 平台后端
平台后端是一项内部服务,主要处理身份验证和其他高容量任务。用户不需要直接与此服务交互。
LangSmith 游乐场
Playground 是一项服务,用于处理将请求转发到各种 LLM API 以支持 LangSmith Playground 功能。这还可用于连接到您自己的自定义模型服务器。
LangSmith ACE(任意代码执行)后端
ACE 后端是一种在安全环境中处理执行任意代码的服务。这用于支持在 LangSmith 中运行自定义代码。