文档索引 在以下地址获取完整的文档索引:https://docs.langchain.org.cn/llms.txt
在进一步探索之前,请使用此文件发现所有可用页面。
LangSmith CLI 是一个用于查询和管理 LangSmith 数据的命令行工具。它专为开发人员和 AI 编码智能体设计,默认输出 JSON 以便于脚本编写,同时提供 --format pretty 选项以生成人类可读的表格。当你需要以脚本方式访问 LangSmith 数据(例如进行批量导出、自动化操作,或让编码智能体直接访问你的 追踪、运行记录和数据集 )时,请使用此工具。
LangSmith CLI 目前处于 alpha 阶段。命令、标记和输出模式可能会在版本更新中发生变化。请在 GitHub 上反馈问题。
macOS / Linux (推荐)
Windows
GitHub 发布版本
Go 安装
curl -fsSL https://cli.langsmith.com/install.sh | sh
随时升级
使用 --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-i d > --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-i d > --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-i d > --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-i d > --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 在创建或列出时将示例分配给命名分割(如 test 或 train)。
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-i d > --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 获取完整的沙盒命令参考。 过滤标记
大多数 trace 和 run 命令共享这些过滤器
标志 描述 示例 --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运行类型 (llm 或 tool) --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完整运行树(仅追踪)
将这些文档 连接到 Claude、VSCode 等,以获得实时答案。