以编程方式使用文档

LangSmith 可观测性让你能够记录、检查和分析 LLM 应用程序采取的每一个步骤。本页面介绍 LangSmith 中数据的结构以及如何发送追踪。

LangSmith 数据结构

LangSmith 将多个 追踪 分组在一个 项目中。每个追踪记录应用程序针对单个操作所采取的步骤序列,这些步骤由独立的 运行组成。你可以将多轮对话中的追踪链接为一个 线程.

graph TB
    Project -->|contains| Trace1[Trace]
    Project -->|contains| Trace2[Trace]
    Trace1 -->|contains| Run1[Run]
    Trace1 -->|contains| Run2[Run]
    Trace1 -->|contains| Run3[Run]
    Trace1 -->|part of| Thread
    Trace2 -->|part of| Thread

项目

A _项目_ 是包含与单个应用程序或服务相关的所有追踪的容器。

将追踪记录到项目.

追踪

A _追踪_ 是单个操作的运行集合。例如,如果用户请求触发了一个链,该链调用了 LLM 然后调用了输出解析器,所有这些运行都属于同一个追踪。运行通过唯一的追踪 ID 绑定到追踪。如果你熟悉 OpenTelemetry,你可以将 LangSmith 追踪视为一个跨度集合。

运行

A _运行_ 是代表 LLM 应用程序中单个工作单元的跨度:调用 LLM、格式化提示词、检索调用或任何其他离散操作。如果你熟悉 OpenTelemetry,你可以将运行视为一个跨度。

线程

A _线程_ 是表示单个对话的追踪序列。多轮对话中的每一轮都是自己的追踪,但追踪通过共享标识符链接。要将追踪分组到线程中,请传递带有唯一值的特殊元数据键 (session_id or thread_id)。

了解如何配置线程.

追踪增强

反馈

_反馈_ 允许你根据特定标准对单个运行进行评分。每个反馈条目由一个标签和一个分数组成,并通过唯一的运行 ID 绑定到运行。反馈可以是连续的或离散的(分类的),标签可以在组织内的运行中重复使用。

有关反馈存储方式的更多信息,请参阅 反馈数据格式指南.

标签

_标签_ 是你可以附加到运行上的字符串,用于在 LangSmith UI 中对运行进行分类、筛选和分组。

了解如何将标签附加到追踪.

元数据

_元数据_ 是一个键值对集合,可以附加到运行记录上。例如应用程序版本、环境或任何其他上下文信息。与标签类似,您可以使用元数据来过滤和分组运行记录。

了解如何为您的追踪添加元数据.

发送追踪

向 LangSmith 发送追踪数据有两种方式。

集成

LangSmith _集成_ 为流行的 LLM 提供商和智能体框架提供自动追踪功能(相当于通用可观测性中的自动插桩)。当您使用支持的框架(如 LangChain、LangGraph、OpenAI、Anthropic 或 CrewAI)时,集成会自动捕获输入、输出和元数据,无需手动修改代码。

浏览所有集成.

手动插桩

_手动插桩_ 允许您向任何代码添加追踪功能,无论使用何种框架。当您未使用支持的集成,或需要对追踪内容进行精细控制时,可使用此方法。LangSmith 提供三种机制:

  • - @traceable / traceable:用于追踪任何函数的装饰器
  • - trace 上下文管理器(Python):包装特定代码块
  • - RunTree API:低级、显式追踪构建

了解如何添加手动插桩.

数据保留

LangSmith( SaaS )从数据接入之日起保留追踪数据 400 天。之后,追踪将被永久删除,仅保留有限的元数据用于使用统计。保留层级和定价的详细信息,请参阅 使用与计费:数据保留.

如需在到期日前删除追踪,请参阅 管理追踪.