Skip to main content

架构概览

需要企业许可

Self-Hosted 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 UI 并发送 API 请求,您需要暴露 LangSmith 前端服务。根据您的安装方式,这可能是一个负载均衡器或主机上暴露的端口。

存储服务

注意

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

Clickhouse

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

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

PostgreSQL

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

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

Redis

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

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

服务

LangSmith 前端

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

LangSmith 后端

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

LangSmith 队列

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

LangSmith 平台后端

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

LangSmith Playground

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

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

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


此页面有帮助吗?


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