- 在高跟踪量的环境中,输入、输出、错误、清单、额外数据和事件可能会使数据库大小急剧膨胀。
- 如果使用 LangSmith 托管的 ClickHouse,您可能希望将敏感信息存储在位于您环境中的 Blob 存储中。为了解决这个问题,LangSmith 支持将运行输入、输出、错误、清单、额外数据、事件和附件存储在外部 Blob 存储系统中。
要求
Azure Blob 存储从 Helm chart 版本 0.8.9 开始可用。删除跟踪项目 功能在 Azure 中从 Helm chart 版本 0.10.43 开始支持。原生 GCS Blob 存储引擎支持(使用
engine: "GCS")从 Helm chart 版本 0.13.29 开始可用。对于更早的版本,GCS 通过 S3 兼容 API 支持,通过设置 engine: "S3" 并使用 HMAC 凭证。- 访问有效的 Blob 存储服务
-
在您的 Blob 存储中有一个用于存储数据的桶/目录。我们强烈建议为 LangSmith 数据创建一个单独的桶/目录。
- 如果您使用 TTL,您需要设置一个生命周期策略来删除旧数据。更多信息,请参阅配置 TTL。这些策略应与您在 LangSmith 配置中设置的 TTL 保持一致,否则可能会遇到数据丢失。有关如何设置生命周期规则,请参阅 Blob 存储的 TTL 配置。
-
允许 LangSmith 服务访问桶/目录的凭证
- 您需要为您的 LangSmith 实例提供访问桶/目录所需的凭证。请阅读下面的身份验证部分了解更多信息。
-
如果使用 S3 或 GCS,需要您的 Blob 存储服务的 API URL
- 这将是 LangSmith 用于访问您的 Blob 存储系统的 URL
- 对于 Amazon S3,这将是 S3 端点的 URL。例如:
https://s3.amazonaws.com或https://s3.us-west-1.amazonaws.com(如果使用区域端点)。 - 对于 Google Cloud Storage,这将是 GCS 端点的 URL。例如:
https://storage.googleapis.com
身份验证
- AWS
- GCP
- Azure
Amazon S3
要验证到 Amazon S3,您需要创建一个 IAM 策略,授予对您的桶的以下权限。-
服务账户的 IAM 角色 (IRSA)(推荐):您可以为您的 LangSmith 实例创建一个 IAM 角色,并将策略附加到该角色。这是在生产环境中与 Amazon S3 进行身份验证的推荐方式。
- 您需要创建一个附加了策略的 IAM 角色。
- 您需要允许 LangSmith 服务账户担任该角色。
langsmith-queue、langsmith-backend、langsmith-platform-backend和langsmith-ingest-queue服务账户需要能够担任该角色。 - 您需要向 LangSmith 提供角色 ARN。您可以通过在 Helm Chart 安装中的
queue、backend、platform-backend和ingest-queue服务上添加eks.amazonaws.com/role-arn: "<role_arn>"注解来实现。
-
访问密钥和秘密密钥:您可以为 LangSmith 提供访问密钥和秘密密钥。这是与 Amazon S3 进行身份验证的最简单方式。但是,不建议在生产环境中使用,因为它安全性较低。
- 您需要创建一个附加了策略的用户。然后您可以为该用户配置访问密钥和秘密密钥。
-
VPC 端点访问:您可以通过 VPC 端点启用对 S3 桶的访问,这允许流量从您的 VPC 安全地流向您的 S3 桶。
- 您需要配置一个 VPC 端点,并将其配置为允许访问您的 S3 桶。
- 您可以参考我们的公共 Terraform 模块来获取指导和配置示例。
KMS 加密头支持
从 LangSmith Helm chart 版本 0.11.24 开始,您可以传递 KMS 加密密钥头,并通过提供其 ARN 来强制执行特定的 KMS 密钥进行写入。要启用此功能,请在您的 Helm chart 中设置以下值:CH 搜索
默认情况下,LangSmith 仍会将用于搜索的令牌存储在 ClickHouse 中。如果您使用 LangSmith 托管的 Clickhouse,您可能希望禁用此功能,以避免将潜在的敏感信息发送到 ClickHouse。您可以在您的 Blob 存储配置中执行此操作。配置
创建桶并获取必要的凭证后,您可以配置 LangSmith 以使用您的 Blob 存储系统。如果使用访问密钥和秘密,您也可以提供一个包含身份验证信息的现有 Kubernetes 密钥。这比直接在配置中提供访问密钥和秘密密钥更推荐。有关预期的密钥键,请参阅生成的密钥模板。
TTL 配置
如果在 LangSmith 中使用 TTL 功能,您还需要为您的 Blob 存储配置 TTL 规则。存储在 Blob 存储上的跟踪信息存储在特定的前缀路径上,该路径决定了数据的 TTL。当跟踪的保留期被延长时,其对应的 Blob 存储路径会更改,以确保与新的延长保留期匹配。 使用以下 TTL 前缀:ttl_s/:短期(基础)TTL,配置为 14 天。ttl_l/:长期(延长)TTL,默认配置为 400 天。
自定义工作区级别保留前缀
如果您使用工作区级别延长保留,LangSmith 会将 Blob 数据写入形式为ttl_XXd/ 的前缀,其中 XX 是为该工作区配置的天数。例如,如果一个工作区配置了 90 天的延长保留,则该工作区的 Blob 数据将写入 ttl_90d/ 前缀。
您必须为每个在您的工作区中配置的自定义保留期创建一个生命周期规则。常见示例:
ttl_90d/— 90 天保留ttl_180d/— 180 天保留ttl_365d/— 365 天保留
ttl_s 和 ttl_l 规则:
- AWS
- GCP
- Azure
- AWS
- GCP
- Azure
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

