由LangSmith管理的ClickHouse
请在继续本指南之前,先阅读LangSmith 架构概述以及连接外部 ClickHouse 的指南。
如先前指南所述,LangSmith 使用 ClickHouse 作为 追踪数据(traces) 和 反馈数据(feedback) 的主要存储引擎。 为便于管理和扩展,建议将自托管的 LangSmith 实例连接至外部 ClickHouse 实例。LangSmith 托管的 ClickHouse 是一种可选方案,它允许您使用由 LangSmith 团队监控和维护的全托管 ClickHouse 实例。
架构概览
在自托管的 LangSmith 实例中使用 LangSmith 托管的 ClickHouse 相当简单。整体架构与完全自托管的 ClickHouse 实例类似,但存在若干关键差异:
- 您需要在您的 LangSmith 实例与 LangSmith 托管的 ClickHouse 实例之间建立私有网络连接。此举旨在确保您的数据安全,并使您的自托管 LangSmith 实例能够连接到该 ClickHouse 实例。
- 启用此选项后,您追踪记录中的敏感信息(输入和输出)将存储在您云环境内的云对象存储(S3 或 GCS)中,而非 ClickHouse,从而确保敏感信息不会离开您的 VPC。
ClickHouse 存储运行记录和反馈数据。
此参考文档介绍了我们用于存储反馈的格式,即LangSmith表示运行(runs)评估分数和标注的方式。 此参考文档介绍了我们用于存储运行(spans)的格式,这些运行是追踪(traces)的基本构成单元。
我们对应用程序数据中敏感信息的定义,是指一次运行(run)中的inputs、outputs、errors、manifests、extras和events字段,因为这些字段可能包含来自大语言模型(LLM)的提示词(prompts)和生成结果(completions)。
借助 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两种方式进行安装。