Skip to main content
计划限制适用请注意,数据导出功能仅支持 LangSmith Plus 或 Enterprise 层级
LangSmith 的批量数据导出允许您将特定项目和日期范围内的追踪数据以 Parquet 格式导出到兼容 S3 的存储桶,其字段与 运行数据格式 相匹配。这对于在 BigQuery、Snowflake、Redshift 或 Jupyter Notebooks 等工具中进行离线分析非常有用。 本页介绍如何:
  • 创建导出目标
  • 创建和配置导出任务,包括计划导出和字段过滤
  • 监控导出进度
开始之前: 导出可能需要一些时间,具体取决于数据量,并且 LangSmith 限制了可同时运行的导出数量。批量导出有 72 小时的运行超时——详情请参阅 自动重试行为。启动后,LangSmith 会自动处理导出过程的编排和弹性

1. 创建目标

目标告诉 LangSmith 将导出的数据写入何处。在发出此请求之前,您需要:
  • 您的 LangSmith API 密钥工作区 ID
  • 一个已授予 LangSmith 写入权限 的 S3 或兼容 S3 的存储桶(请参阅 所需权限)。
  • 存储桶名称、前缀,以及 AWS 区域(对于 AWS S3)或端点 URL(对于 GCS、MinIO 或其他兼容 S3 的提供商)。
  • 存储桶的访问密钥和秘密密钥。
凭据以加密形式安全存储。API 将在保存前验证目标和凭据是否有效。如果请求失败,请参阅 调试目标错误 保存响应中的 id;创建导出任务时将需要它。 有关权限设置、特定于提供商的配置(AWS S3、GCS、MinIO)和凭据选项,请参阅 管理批量导出目标

2. 创建导出任务

导出任务针对特定项目和日期范围。您需要:
  • 上一步 中的目标 id
  • 项目 ID (session_id)——从 追踪项目 列表 中的单个项目视图复制此 ID。
  • UTC ISO 8601 格式的 start_timeend_time
start_time 是包含的,end_time 是不包含的。导出将包括所有满足 run.start_time >= start_timerun.start_time < end_time 的运行。 保存响应中的 id 以监控导出进度。 您可以选择添加 filter 表达式来缩小导出的运行集。有关语法,请参阅我们的 过滤查询语言示例。不设置 filter 字段将导出所有运行。

计划定期导出

需要 LangSmith Helm 版本 >= 0.10.42(应用版本 >= 0.10.109
计划导出会定期收集运行并导出到配置的目标。 要创建计划导出,请包含 interval_hours 并省略 end_time
  • interval_hours 必须在 1 到 168(1 周)之间(含端点)。
  • 计划导出必须省略 end_time;对于一次性导出,它仍然是必需的。
  • 每个生成的导出覆盖 start_timestart_time + interval_hours,然后对于每个后续运行,时间向前推进 interval_hours。由于 end_time 是不包含的,连续的导出不会重叠。
  • 生成的导出在 end_time + 10 分钟 运行,以考虑最近提交的、end_time 在过去的运行。
  • 生成的导出具有填充的 source_bulk_export_id 属性。如果需要,必须单独取消它们——取消源导出不会取消已生成的导出。
  • 要停止计划导出,请取消它
示例 如果创建了一个计划批量导出,其 start_time=2025-07-16T00:00:00Zinterval_hours=6

限制导出字段

需要 LangSmith Helm 版本 >= 0.12.11(应用版本 >= 0.12.42)。在一次性导出和计划导出中均受支持。
您可以使用 export_fields 参数限制包含哪些字段,从而提高导出速度并减小文件大小。省略时,将包含所有字段。
排除 inputsoutputs 可以显著提高导出性能并减小文件大小,尤其是对于大型运行。仅在分析需要时才包含这些字段。

可导出字段

默认情况下,批量导出包括每个运行的以下字段: 标识符和层级: 基本元数据: 运行数据: 标签和反馈:
feedback_stats 聚合限制feedback_stats 字段仅包含字符串类型反馈的值细分。具有非字符串值(数字、布尔值、复杂类型)的反馈被排除在这些细分之外。要分析非字符串反馈值,请单独导出原始反馈数据。
令牌使用情况和成本:

分区方案

数据使用以下 Hive 分区结构导出到您的存储桶:

3. 监控您的导出

使用 上一步 中的 id 轮询导出状态:
响应中的 status 字段将是 CREATEDRUNNINGCOMPLETEDFAILEDCANCELLEDTIMEDOUT 之一。导出可能需要一些时间,具体取决于数据量。一旦状态为 COMPLETED,Parquet 文件即可在您的存储桶中使用。 有关如何列出运行、停止导出和诊断故障,请参阅 监控和排查批量导出问题