架构概述
自托管版 LangSmith 是企业版计划的一项附加服务,专为规模最大、安全要求最高的客户设计。更多详情请参阅我们的 定价页面;如需获取试用版 LangSmith 的许可证密钥,请联系 sales@langchain.dev。
LangSmith 可通过您所控制的云环境中的 Kubernetes(推荐)或 Docker 运行。
LangSmith 应用程序由多个组件构成,包括 5 个 LangSmith 服务器和 3 个有状态服务:
- LangSmith 前端
- LangSmith 后端
- LangSmith 平台后端
- LangSmith Playground
- LangSmith 队列
- LangSmith ACE(任意代码执行)后端
- ClickHouse
- Postgres
- Redis

要访问 LangSmith 用户界面并发送 API 请求,您需要暴露 LangSmith 前端服务。具体方式取决于您的安装方法,可以是负载均衡器,也可以是主机上暴露的端口。
存储服务
LangSmith 自托管版默认将集成所有存储服务。LangSmith 也可配置为使用所有存储服务的外部版本。 在生产环境中,我们强烈建议使用外部存储服务。
ClickHouse
ClickHouse是一款高性能、面向列的SQL数据库管理系统(DBMS),专为在线分析处理(OLAP)而设计。
LangSmith 使用 ClickHouse 作为追踪数据和反馈(高容量数据)的主要数据存储。
PostgreSQL
PostgreSQL 是一个功能强大、开源的对象关系型数据库系统,它使用并扩展了 SQL 语言,并结合了众多特性,可安全地存储和扩展最复杂的数据工作负载。
LangSmith 使用 PostgreSQL 作为事务性工作负载和运营数据(几乎涵盖除追踪记录和反馈之外的所有数据)的主要数据存储。
Redis
Redis 是一个功能强大的内存键值数据库,支持将数据持久化到磁盘。通过将数据保存在内存中,Redis 可为缓存等操作提供高性能。
LangSmith 使用 Redis 支持队列和缓存操作。
服务
LangSmith 前端
前端使用 Nginx 来提供 LangSmith 用户界面,并将 API 请求路由至其他服务器。这作为应用程序的入口点,也是唯一需要向用户暴露的组件。
LangSmith 后端
后端是 API 请求的主要入口点,负责处理应用程序的大部分业务逻辑。这包括处理来自前端和 SDK 的请求、准备用于摄入的追踪数据,以及支持 Hub API。
LangSmith 队列
队列负责处理传入的追踪数据和反馈,以确保它们能够异步地被摄入并持久化到追踪数据与反馈数据存储中;同时执行数据完整性校验,确保数据成功写入数据存储,并在发生数据库错误或暂时无法连接数据库等情况下自动进行重试。
LangSmith 平台后端
平台后端是一项内部服务,主要负责身份验证及其他高并发任务。用户无需直接与该服务进行交互。
LangSmith 交互式开发环境
“Playground”是一项服务,负责将请求转发至各种大语言模型(LLM)API,以支持LangSmith Playground功能。该服务也可用于连接您自定义的模型服务器。
LangSmith ACE(任意代码执行)后端
ACE 后端是一项服务,用于在安全环境中执行任意代码。该服务用于支持在 LangSmith 中运行自定义代码。