跳到主要内容

文档索引

在以下地址获取完整的文档索引:https://docs.langchain.org.cn/llms.txt

在进一步探索之前,请使用此文件发现所有可用页面。

LangSmith CLI 是一个用于查询和管理 LangSmith 数据的命令行工具。它专为开发人员和 AI 编码智能体设计,默认输出 JSON 以便于脚本编写,同时提供 --format pretty 选项以生成人类可读的表格。当你需要以脚本方式访问 LangSmith 数据(例如进行批量导出、自动化操作,或让编码智能体直接访问你的 追踪、运行记录和数据集)时,请使用此工具。
LangSmith CLI 目前处于 alpha 阶段。命令、标记和输出模式可能会在版本更新中发生变化。请在 GitHub 上反馈问题。

安装

curl -fsSL https://cli.langsmith.com/install.sh | sh
随时升级
langsmith self-update
使用 --dry-run 标记可预览更新而不进行实际安装。

身份验证

将你的 API 密钥设置为环境变量
export LANGSMITH_API_KEY="lsv2_..."
(可选)设置查询的默认项目
export LANGSMITH_PROJECT="my-default-project"
如果你使用的是 LangSmith 自托管混合 版本,也请设置端点
export LANGSMITH_ENDPOINT="https://your-langsmith-instance.com"
或者,在每个命令中通过标记传递它们
langsmith --api-key lsv2_... trace list --project my-app

快速入门

以下命令涵盖了核心资源类型
# List tracing projects
langsmith project list

# List recent traces in a project
langsmith trace list --project my-app --limit 5

# Get a specific trace with full detail
langsmith trace get <trace-id> --project my-app --full

# List LLM runs with token counts
langsmith run list --project my-app --run-type llm --include-metadata

# Datasets and experiments
langsmith dataset list
langsmith experiment list --dataset my-eval-set

# Conversation threads
langsmith thread list --project my-chatbot

# Sandboxes
langsmith sandbox list
langsmith sandbox tunnel my-vm --remote-port 5432

输出格式

默认 输出到标准输出 (stdout) 的 JSON — 易于通过管道传输、编写脚本或提供给智能体:
langsmith trace list --project my-app
美化表格 --format pretty 用于人类可读的输出:
langsmith --format pretty trace list --project my-app
写入文件 -o <path>
langsmith trace list --project my-app -o traces.json

命令

每个命令组都针对特定的 LangSmith 资源。大多数命令支持 --limit--offset 以及一组共享的 过滤标记

列出项目

默认返回最多 20 个项目,按最近活动排序。仅列出追踪项目。(使用 experiment list 列出评估实验。)
langsmith project list
langsmith project list --limit 50 --name-contains chatbot
langsmith --format pretty project list

查询追踪

默认为最近 7 天,按最新排序。使用 --since--last-n-minutes 更改时间窗口。
langsmith trace list --project my-app --limit 50 --last-n-minutes 60
langsmith trace list --project my-app --error                     # errors only
langsmith trace list --project my-app --min-latency 5             # slow traces (>5s)
langsmith trace list --project my-app --tags production           # filter by tag
langsmith trace list --project my-app --full                      # all fields
langsmith trace list --project my-app --show-hierarchy --limit 3  # include full run tree
langsmith trace get <trace-id> --project my-app --full
langsmith trace export ./traces --project my-app --limit 20 --full

查询运行记录

默认为 50 条结果(大多数其他命令默认为 20)。同样适用 7 天的时间窗口。使用 --since--last-n-minutes 进行覆盖。
langsmith run list --project my-app --run-type llm
langsmith run list --project my-app --run-type tool --name search
langsmith run list --project my-app --min-tokens 1000 --include-metadata
langsmith run get <run-id> --full
langsmith run export llm_calls.jsonl --project my-app --run-type llm --full

查询线程

--project 是所有线程命令所必需的。
langsmith thread list --project my-chatbot --last-n-minutes 120
langsmith thread get <thread-id> --project my-chatbot --full

管理数据集

dataset export 导出的是数据集中的示例(行),而不是数据集元数据本身。
langsmith dataset list
langsmith dataset list --name-contains eval
langsmith dataset get my-dataset
langsmith dataset create --name my-eval-set --description "QA pairs for v2"
langsmith dataset delete my-old-dataset --yes
langsmith dataset export my-dataset ./data.json --limit 500
langsmith dataset upload data.json --name new-dataset

管理示例

使用 --split 在创建或列出时将示例分配给命名分割(如 testtrain)。
langsmith example list --dataset my-dataset --limit 50
langsmith example list --dataset my-dataset --split test
langsmith example create --dataset my-dataset \
  --inputs '{"question": "What is LangSmith?"}' \
  --outputs '{"answer": "A platform for LLM observability"}' \
  --split test
langsmith example delete <example-id> --yes

管理评估器

评估器可以是离线的(在实验期间针对数据集运行)或在线的(针对实时项目运行)。使用 --sampling-rate 仅评估生产运行的一小部分,使用 --replace 按名称覆盖现有的评估器。
langsmith evaluator list
langsmith evaluator upload evals.py --name accuracy \
  --function check_accuracy --dataset my-eval-set
langsmith evaluator upload evals.py --name latency-check \
  --function check_latency --project my-app --sampling-rate 0.5
langsmith evaluator upload evals.py --name accuracy \
  --function check_accuracy_v2 --dataset my-eval-set --replace --yes
langsmith evaluator delete accuracy --yes

查看实验

experiment list 显示的是评估实验,而非追踪项目。(使用 project list 列出追踪项目。)
langsmith experiment list
langsmith experiment list --dataset my-eval-set
langsmith experiment get my-experiment-2024-01-15

管理沙盒

沙盒命令允许你构建快照、创建沙盒、执行命令、打开交互式控制台,以及将 TCP 端口隧道连接到在沙盒内运行的服务。 查看 沙盒 CLI 获取完整的沙盒命令参考。

过滤标记

大多数 tracerun 命令共享这些过滤器
标志描述示例
--project项目名称--project my-app
--limit, -n最大结果数-n 10
--offset分页偏移量--offset 20
--last-n-minutes覆盖默认的 7 天时间--last-n-minutes 60
--since在 ISO 时间戳之后--since 2024-01-15T00:00:00Z
--error / --no-error按错误状态过滤--error
--name名称搜索(不区分大小写)--name ChatOpenAI
--run-type运行类型 (llmtool)--run-type llm
--min-latency / --max-latency延迟范围(秒)--min-latency 2.5
--min-tokens最小总令牌数--min-tokens 1000
--tags标签,以逗号分隔(逻辑或)--tags prod,v2
--filter原始 LangSmith 过滤 DSL--filter 'eq(status, "error")'
--trace-ids特定追踪 ID--trace-ids abc123,def456
详细标记 — 控制响应中包含哪些字段
标志添加
--include-metadata状态、持续时间、令牌、成本
--include-io输入、输出、错误
--include-feedback反馈统计
--full包含以上所有内容
--show-hierarchy完整运行树(仅追踪)

© . This site is unofficial and not affiliated with LangChain, Inc.