以编程方式使用文档

LangSmith 使用 ClickHouse 作为 **追踪** 和 **反馈**的主要存储引擎。为了更方便地管理和扩展,建议将自托管的 LangSmith 实例连接到外部 ClickHouse 实例。LangSmith 托管的 ClickHouse 是一个选项,允许您使用由 LangSmith 团队监控和维护的完全托管的 ClickHouse 实例。

架构概述

使用 LangSmith 托管的 ClickHouse 与您的自托管 LangSmith 实例的架构与使用完全自托管的 ClickHouse 实例类似,但有一些关键区别:

  • - 您需要在 LangSmith 实例和 LangSmith 托管的 ClickHouse 实例之间建立专用网络连接。这是为了确保您的数据安全,并且您可以从自托管的 LangSmith 实例连接到 ClickHouse 实例。
  • - 使用此选项,追踪的敏感信息(输入和输出)将存储在您云中的云对象存储(S3 或 GCS)中,而不是 ClickHouse,以确保敏感信息不会离开您的 VPC。有关各数据字段存储位置的更多详细信息,请参阅 数据存储.
  • - LangSmith 团队将监控您的 ClickHouse 实例并确保其运行顺畅。这使我们能够跟踪运行摄入延迟和查询性能等指标。

整体架构如下:

LangSmith managed ClickHouse architecture. LangSmith managed ClickHouse architecture.

要求

  • 您必须使用支持的 blob 存储选项。 阅读 blob 存储指南 了解更多。
  • - 要使用私有端点,请确保您的 VPC 位于 ClickHouse Cloud 支持的 区域中。否则,您将需要使用我们通过防火墙规则保护的公共端点。您的 VPC 需要有 NAT 网关以允许我们允许列表您的流量。
  • - 您必须拥有可连接到 LangSmith 托管 ClickHouse 服务的 VPC。您需要与我们的团队合作来设置必要的网络。
  • - 您必须运行一个 LangSmith 自托管实例。您可以将我们的托管 ClickHouse 服务与 Kubernetes installations.

数据存储

ClickHouse 存储 **运行** 和 **反馈** 数据,具体包括:

  • - 所有反馈数据字段。
  • - 部分运行数据字段。

有关字段列表,请参阅 存储的运行数据字段存储的反馈数据字段.

LangChain 将敏感应用数据定义为 inputs, outputs, errors, manifests, extras,以及 events 的运行,因为这些字段可能包含 LLM 提示和完成内容。使用 LangSmith 托管的 ClickHouse 时,这些敏感字段存储在您云中的云对象存储(S3 或 GCS)中,而其余运行数据存储在 ClickHouse 中,确保敏感信息不会离开您的 VPC。

存储的反馈数据字段

使用 LangSmith 托管的 ClickHouse 设置时, **所有反馈数据字段都存储在 ClickHouse 中**:

参考文档 说明了存储的反馈格式,这是 LangSmith 表示运行评估分数和注释的方式。

存储的运行数据字段

运行数据字段在托管 ClickHouse 数据库和云对象存储(如 S3 或 GCS)之间分配。

该表详细说明了每个运行字段及其存储位置:

字段存储位置
idClickHouse
nameClickHouse
inputs**对象存储**
run_typeClickHouse
start_timeClickHouse
end_timeClickHouse
extra**对象存储**
error**对象存储**
outputs**对象存储**
events**对象存储**
tagsClickHouse
trace_idClickHouse
dotted_orderClickHouse
statusClickHouse
child_run_idsClickHouse
direct_child_run_idsClickHouse
parent_run_idsClickHouse
feedback_statsClickHouse
reference_example_idClickHouse
total_tokensClickHouse
prompt_tokensClickHouse
completion_tokensClickHouse
total_costClickHouse
prompt_costClickHouse
completion_costClickHouse
first_token_timeClickHouse
session_idClickHouse
in_datasetClickHouse
parent_run_idClickHouse
execution_order (已弃用)ClickHouse
serializedClickHouse
manifest_id (已弃用)ClickHouse
manifest_s3_idClickHouse
inputs_s3_urlsClickHouse
outputs_s3_urlsClickHouse
price_model_idClickHouse
app_pathClickHouse
last_queued_atClickHouse
share_tokenClickHouse

本文 参考文档 介绍了存储运行(span)的格式,这些运行是跟踪的构建块。