跳到主要内容
在继续本指南之前,请阅读 LangSmith 架构概览连接到外部 ClickHouse 的指南
LangSmith 使用 ClickHouse 作为 **轨迹** 和 **反馈** 的主要存储引擎。为了便于管理和扩展,建议将自托管的 LangSmith 实例连接到外部 ClickHouse 实例。LangSmith 托管的 ClickHouse 是一个选项,允许您使用由 LangSmith 团队监控和维护的完全托管的 ClickHouse 实例。

架构概览

将 LangSmith 托管的 ClickHouse 与您的自托管 LangSmith 实例一起使用的架构与使用完全自托管的 ClickHouse 实例类似,但有一些关键区别:
  • 您需要在 LangSmith 实例和 LangSmith 托管的 ClickHouse 实例之间建立私有网络连接。这是为了确保您的数据安全,并且您可以从自托管的 LangSmith 实例连接到 ClickHouse 实例。
  • 使用此选项,您的轨迹的敏感信息(输入和输出)将存储在您云中的云对象存储(S3 或 GCS)中,而不是 ClickHouse 中,以确保敏感信息不会离开您的 VPC。有关特定数据字段存储位置的更多详细信息,请参阅 数据存储
  • LangSmith 团队将监控您的 ClickHouse 实例,并确保其平稳运行。这使我们能够跟踪运行摄取延迟和查询性能等指标。
整体架构如下所示: LangSmith 托管的 ClickHouse 架构。

要求

  • 您必须使用受支持的 Blob 存储选项。有关详细信息,请阅读 Blob 存储指南
  • 要使用私有端点,请确保您的 VPC 位于 ClickHouse Cloud 支持的 区域。否则,您将需要使用我们将通过防火墙规则保护的公共端点。您的 VPC 将需要一个 NAT 网关,以允许我们列出您的流量。
  • 您必须拥有一个可以连接到 LangSmith 托管的 ClickHouse 服务的 VPC。您需要与我们的团队合作设置必要的网络。
  • 您必须运行 LangSmith 自托管实例。您可以将我们的托管 ClickHouse 服务与 KubernetesDocker 安装一起使用。

数据存储

ClickHouse 存储 **运行** 和 **反馈** 数据,具体如下:
  • 所有反馈数据字段。
  • 某些运行数据字段。
有关字段列表,请参阅 存储的运行数据字段存储的反馈数据字段 LangChain 将敏感应用程序数据定义为运行的 inputsoutputserrorsmanifestsextrasevents,因为这些字段可能包含 LLM 提示和补全。使用 LangSmith 托管的 ClickHouse,这些敏感字段存储在您云中的云对象存储(S3 或 GCS)中,而其余的运行数据存储在 ClickHouse 中,确保敏感信息永远不会离开您的 VPC。

存储的反馈数据字段

由于所有反馈数据都存储在 ClickHouse 中,因此请勿在反馈(评分和注释/评论)或 存储的运行数据字段 中提及的任何其他运行字段中发送敏感信息。
使用 LangSmith 托管的 ClickHouse 设置,**所有反馈数据字段都存储在 ClickHouse 中**
字段名称类型描述
idUUID记录本身的唯一标识符
created_atdatetime记录创建时的时间戳
modified_atdatetime记录上次修改时的时间戳
session_idUUID运行所属的实验或跟踪项目的唯一标识符
运行 IDUUID会话中特定运行的唯一标识符
字符串描述反馈标准的键,例如“正确性”
评分数字与反馈键关联的数值评分
value字符串保留用于存储与评分关联的值。对于分类反馈很有用。
评论字符串与记录关联的任何评论或注释。这可以是给定评分的理由。
修正对象保留用于存储修正详细信息(如果有)
反馈来源对象包含反馈来源信息的对象
反馈来源.类型字符串反馈来源的类型,例如“api”、“app”、“评估者”
反馈来源.元数据对象保留用于附加元数据,目前
反馈来源.用户 IDUUID提供反馈的用户的唯一标识符
参考文档 解释了存储的反馈格式,这是 LangSmith 表示对运行的评估分数和注释的方式。

存储的运行数据字段

运行数据字段在托管的 ClickHouse 数据库和您的云对象存储(例如 S3 或 GCS)之间拆分。
对于存储在对象存储中的运行字段,ClickHouse 中仅保留引用或指针。例如,inputsoutputs 内容被卸载到 S3/GCS,ClickHouse 记录在 inputs_s3_urlsoutputs_s3_urls 字段中存储相应的 S3 URL。
该表详细说明了每个运行字段及其存储位置:
字段存储位置
idClickHouse
名称ClickHouse
输入对象存储
run_typeClickHouse
开始时间ClickHouse
结束时间ClickHouse
额外信息对象存储
错误对象存储
输出对象存储
events对象存储
tagsClickHouse
trace_idClickHouse
点序ClickHouse
状态ClickHouse
子运行 IDClickHouse
直接子运行 IDClickHouse
父运行 IDClickHouse
反馈统计ClickHouse
reference_example_idClickHouse
总令牌ClickHouse
提示令牌ClickHouse
补全令牌ClickHouse
总成本ClickHouse
提示成本ClickHouse
补全成本ClickHouse
首个令牌时间ClickHouse
session_idClickHouse
在数据集中ClickHouse
parent_run_idClickHouse
执行顺序(已弃用)ClickHouse
序列化ClickHouse
清单 ID(已弃用)ClickHouse
清单 S3 IDClickHouse
输入 S3 URLClickHouse
输出 S3 URLClickHouse
价格模型 IDClickHouse
应用程序路径ClickHouse
上次排队时间ClickHouse
共享令牌ClickHouse
参考文档 解释了存储运行(Span)的格式,它们是轨迹的构建块。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.