- LangSmith 管理的 ClickHouse
- 直接或通过云提供商市场部署ClickHouse Cloud
- 在您的云提供商的VM上
使用前两种选项(LangSmith管理的ClickHouse或ClickHouse Cloud)将在您的VPC之外部署ClickHouse服务。但是,这两种选项都支持私有端点,这意味着您可以将流量导向ClickHouse服务而无需将其暴露给公共互联网(例如通过AWS PrivateLink或GCP Private Service Connect)。此外,敏感信息可以配置为不存储在ClickHouse中。请联系support@langchain.dev获取更多信息。
要求
- 您的LangSmith应用程序将具有网络访问权限的预配置ClickHouse实例(请参阅上面的选项)。
- 对ClickHouse数据库具有管理员访问权限的用户。该用户将用于创建必要的表、索引和视图。
- 我们支持独立ClickHouse和外部管理的集群部署。对于集群部署,请确保所有节点都运行相同的版本。请注意,捆绑的ClickHouse安装不支持集群设置。
- 我们只支持ClickHouse版本 >= 23.9。使用ClickHouse版本 >= 24.2 需要 LangSmith v0.6 或更高版本。
- 我们依赖于在您的ClickHouse实例上设置的一些配置参数。这些参数将在下面详细说明
我们的系统已根据上述配置参数进行调整。更改这些参数可能会导致意外行为。
高可用性复制ClickHouse集群
默认情况下,上述设置过程仅适用于单节点ClickHouse集群。
- 您需要一个使用Keeper或Zookeeper进行数据复制并具有适当设置的ClickHouse集群。请参阅Clickhouse复制设置文档。
- 您需要在LangSmith配置部分设置集群设置,特别是`cluster`设置,以匹配您的Clickhouse集群名称。在运行Clickhouse迁移时,这将使用`Replicated`表引擎。
- 除了高可用性之外,如果您想在Clickhouse节点之间进行负载均衡(以分配读写操作),我们建议使用负载均衡器或DNS负载均衡在您的Clickhouse服务器之间进行轮询。
- 注意:您需要在首次启动LangSmith并运行Clickhouse迁移之前启用您的`cluster`设置。这是一个要求,因为表引擎需要创建为`Replicated`表引擎,而不是非复制引擎类型。
有关复制ClickHouse集群的示例设置,请参阅LangSmith Helm chart repo中示例下的复制ClickHouse部分。
LangSmith 管理的 ClickHouse
- 如果使用LangSmith管理的ClickHouse,您需要设置LangSmith VPC和ClickHouse VPC之间的VPC对等连接。请联系support@langchain.dev获取更多信息。
- 您还需要设置 Blob 存储。您可以在Blob 存储文档中阅读有关 Blob 存储的更多信息。
LangSmith 管理的 ClickHouse 安装使用 SharedMerge 引擎,该引擎会自动对其进行集群化并将计算与存储分离。
参数
您需要向LangSmith安装提供几个参数来配置外部ClickHouse数据库。这些参数包括:- 主机:ClickHouse数据库的主机名或IP地址
- HTTP端口:ClickHouse数据库用于HTTP连接的监听端口
- 原生端口:ClickHouse数据库用于原生连接的监听端口
- 数据库:LangSmith应使用的ClickHouse数据库名称
- 用户名:连接到ClickHouse数据库所用的用户名
- 密码:连接到ClickHouse数据库所用的密码
- 集群(可选):如果使用外部 Clickhouse 集群,则为 Clickhouse 集群的名称。设置后,LangSmith 将在集群上运行迁移并跨实例复制数据。
集群部署的重要注意事项
- 集群设置必须在新模式上配置 - 现有独立 ClickHouse 实例无法转换为集群模式。
- 集群仅支持外部管理的 ClickHouse 部署。它与捆绑的 ClickHouse 安装不兼容,因为这些安装不包含所需的 ZooKeeper 配置。
- 使用集群部署时,LangSmith 将自动
- 在集群中的所有节点上运行数据库迁移
- 配置表以实现跨集群的数据复制
配置
有了这些参数,您可以配置您的LangSmith实例以使用预置的ClickHouse数据库。您可以通过修改LangSmith Helm Chart安装的`config.yaml`文件或Docker安装的`.env`文件来完成此操作。以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。