LangSmith 管理的 ClickHouse
在继续本指南之前,请阅读 LangSmith 架构概述 和 连接到外部 ClickHouse 的指南。
如前所述,LangSmith 使用 ClickHouse 作为 跟踪 和 反馈 的主要存储引擎。为了更轻松地管理和扩展,建议将自托管的 LangSmith 实例连接到外部 ClickHouse 实例。LangSmith 管理的 ClickHouse 是一个选项,它允许您使用由 LangSmith 团队监控和维护的完全托管的 ClickHouse 实例。
架构概述
将 LangSmith 管理的 ClickHouse 与您的自托管 LangSmith 实例结合使用非常简单。整体架构与使用完全自托管的 ClickHouse 实例类似,但有一些关键区别:
- 您需要设置一个私有网络连接,连接您的 LangSmith 实例和 LangSmith 管理的 ClickHouse 实例。这是为了确保您的数据安全,并确保您可以从自托管的 LangSmith 实例连接到 ClickHouse 实例。
- 通过此选项,您的跟踪中的敏感信息(输入和输出)将存储在您云中的对象存储(S3 或 GCS)中,而不是 ClickHouse 中,以确保敏感信息不会离开您的 VPC。
ClickHouse 存储 运行 和 反馈 数据。
此 参考文档 解释了我们用于存储反馈的格式,反馈是 LangSmith 表示运行评估分数和注释的方式。此 参考文档 解释了我们用于存储运行(span)的格式,运行是跟踪的构建块。
我们对敏感信息的定义,就其与应用程序数据相关而言,是指一个 运行 的 inputs
、outputs
、errors
、manifests
、extras
和 events
,因为这些字段可能包含来自 LLM 的提示和完成。
使用 LangSmith 管理的 ClickHouse,我们将 inputs
、outputs
、errors
、manifests
、extras
和 events
存储在您云中的对象存储(S3 或 GCS)中,并将其余的运行数据存储在 ClickHouse 中。这确保了敏感信息不会离开您的 VPC。
请注意,所有 反馈 数据都存储在 ClickHouse 中。请勿在反馈(分数和注释/评论)或上述任何其他 运行 字段中发送敏感信息。
- LangSmith 团队将监控您的 ClickHouse 实例,并确保其平稳运行。这使我们能够跟踪运行摄取延迟和查询性能等指标。
整体架构如下所示:
要求
- 您必须使用受支持的 Blob 存储选项。 阅读 Blob 存储指南 以获取更多信息。
- 要使用私有端点,请确保您的 VPC 位于 ClickHouse Cloud 支持的 区域 中。否则,您将需要使用我们将通过防火墙规则保护的公共端点。您的 VPC 将需要具有一个 NAT 网关,以便我们能够将您的流量列入白名单。
- 您必须拥有一个可以连接到 LangSmith 管理的 ClickHouse 服务的 VPC。您需要与我们的团队合作来设置必要的网络。
- 您必须有一个正在运行的 LangSmith 自托管实例。您可以将我们的托管 ClickHouse 服务与 Kubernetes 和 Docker 安装一起使用。