LangSmith CLI 是一个用于查询和管理 LangSmith 数据的命令行工具。它同时面向开发者和 AI 编程代理,默认输出 JSON,便于编写脚本;也支持使用 --format pretty 输出易于人类阅读的表格。当你需要以脚本方式访问 LangSmith 数据时(例如批量导出、自动化操作,或让编程代理直接访问你的跟踪记录、运行记录和数据集),可以使用它。

安装

随时升级:
使用 --dry-run 标志可以预览更新,而不执行安装。

身份验证

langsmith auth login 需要 LangSmith CLI v0.2.30 或更高版本。langsmith profile 命令需要 LangSmith CLI v0.2.26 或更高版本。 推荐的本地设置方式是使用 OAuth 进行身份验证:
langsmith auth login 目前仅支持 LangSmith Cloud(SaaS)。对于自托管或其他非 SaaS 的 LangSmith 端点,请使用 API 密钥进行身份验证,或创建 API 密钥配置文件。
这会打开基于浏览器的授权流程,并将 OAuth 令牌存储在所选配置文件对应的 ~/.langsmith/config.json 中。使用 --profile 或 LANGSMITH_PROFILE 选择配置文件:
在无头环境中,传入 --no-browser,然后手动打开输出的 URL:
管理已保存的配置文件:
完整的配置文件配置参考,请参阅配置文件配置。 你也可以直接使用 API 密钥进行身份验证。 将你的 API 密钥设置为环境变量:
也可以设置查询使用的默认项目:
如果你使用的是 LangSmith自托管版,还需要设置端点:
或者,在每条命令中通过标志传入这些参数:

快速入门

以下命令涵盖核心资源类型:

输出格式

默认格式 将 JSON 输出到 stdout,便于通过管道传递、编写脚本或提供给代理:
美化表格 使用 --format pretty 输出便于人类阅读的内容:
写入文件 -o <path>:

命令

每个命令组都面向特定的 LangSmith 资源。大多数命令都支持 --limit、--offset 以及一组通用的筛选标志。

列出项目

默认返回最多 20 个项目,并按最近活动时间排序。仅列出跟踪项目。(使用 experiment list 列出评估实验。)

查询跟踪记录

默认查询最近 7 天的数据,并按最新记录优先排序。使用 --since 或 --last-n-minutes 可以更改时间范围。

查询运行记录

默认返回 50 条结果(大多数其他命令默认返回 20 条)。同样适用 7 天的时间范围。使用 --since 或 --last-n-minutes 可以覆盖此设置。

查询线程

所有线程命令都必须指定 --project。

管理数据集

dataset export 导出的是数据集中的示例(行),而不是数据集元数据本身。

管理示例

创建或列出示例时,使用 --split 将示例分配到命名分片(例如 test 或 train)。

管理评估器

评估器可以是离线评估器(在实验期间针对数据集运行),也可以是在线评估器(针对实时项目运行)。使用 --sampling-rate 只评估生产运行记录中的一部分,使用 --replace 按名称覆盖现有评估器。

查看实验

experiment list 显示的是评估实验,而不是跟踪项目。(使用 project list 列出跟踪项目。)

管理沙箱

沙箱命令可用于构建快照、创建沙箱、执行命令、打开交互式控制台,以及将 TCP 端口隧道连接到沙箱内部运行的服务。 完整的沙箱命令参考,请参阅 Sandbox CLI。

直接调用 LangSmith API

api 命令是围绕原始 LangSmith REST API 的、经过身份验证且支持脚本调用的封装器,适用于上述类型化命令未涵盖的端点,或用于在 shell 脚本中通过管道传入和传出 JSON。它的设计参考了 gh api 和 curl:将路径作为唯一的位置参数传入,并使用 -X 设置 HTTP 方法(默认为 GET)。身份验证请求头(x-api-key、x-tenant-id)会自动注入。
主要标志: --input 和 --body 不能同时使用。子命令 langsmith api ls 和 langsmith api info 可从缓存的 OpenAPI 规范中浏览和描述端点;传入 --refresh 可以重新获取规范。

筛选标志

大多数 trace 和 run 命令共享以下筛选条件: 详细信息标志——控制响应中包含哪些字段: