仪表板可以让你从较高层次了解 trace 数据,帮助你发现趋势并监控应用的运行状况。你可以在 LangSmith UI 的 Monitoring 中使用仪表板。 LangSmith 提供两种仪表板:
  • 预构建仪表板:为每个追踪项目自动生成。
  • 自定义仪表板:由你根据需求配置的图表集合。根据你的 平台设置,有以下两种体验:

预构建仪表板

预构建仪表板会为每个项目自动创建,并涵盖 trace 数量、错误率、Token 使用量等关键指标。默认情况下,你可以通过追踪项目页面右上角的 Dashboard 按钮访问该项目的预构建仪表板。

仪表板分区

预构建仪表板分为以下几个部分:

分组依据

你可以使用 run 标签或元数据进行分组,以便根据对应用很重要的属性拆分数据。全局分组设置位于仪表板右上方。请注意,Tool 和 Run Type 图表已经应用了分组,因此全局分组设置不会对它们生效。全局分组设置会应用于其他所有图表。
向 runs 添加元数据时,我们建议在 trace 以及具体的 run(例如 LLM 调用)上使用相同的元数据。元数据和标签不会从父 run 传递到子 run,也不会反向传递。如果你希望 trace 图表和 LLM 调用图表都按某个元数据键进行分组,则 trace(根 runs)和 LLM runs 都需要附加相应的元数据。

自定义仪表板

适用于 LangSmith Cloud US。
创建适合你需求的图表集合,用于跟踪对应用最重要的指标。

创建新仪表板

  1. 在左侧边栏中进入 Monitoring 标签页。
  2. 点击 + New Dashboard 按钮。
  3. 为仪表板输入名称和描述。
  4. 点击 Create。

向仪表板添加图表

  1. 在仪表板中,点击 + New Chart 按钮,打开图表创建面板。
  2. 使用面板顶部的 Edit 图标输入图表名称和描述。

图表配置

从模板开始(可选)

如果要从模板开始,请选择一个模板。模板涵盖了一些常见的可观测性使用场景:
  • 随时间变化的错误率
  • 按模型统计的平均延迟
  • 运行量
  • 随时间变化的 Token 使用量
  • 成本最高的模型
你也可以使用 Search templates 查找其他模板。

选择追踪项目或数据集

打开 + Select project or dataset 查找数据源。使用弹出窗口顶部的标签页在两种数据源类型之间切换。
  • Tracing projects:根据每个图表的需要选择一个或多个项目。指标会将所有选定项目中的 runs 汇总为一个集合进行计算,而不会按项目分别显示。若要按项目分别查看结果,请使用分组。
  • Datasets:每个图表只能选择一个数据集。
    • 选择第二个数据集会静默替换之前的数据集。
    • 一个图表要么基于追踪项目,要么基于数据集。选择数据集时,如果已选择项目(反之亦然),现有选择会被清除。

选择指标

从下拉菜单中选择指标。选项按测量内容分组: 有关使用多个指标进行过滤的信息,请参阅下面的过滤和分组部分。

过滤和分组

使用过滤条件细化图表中显示的数据,并通过分组将数据拆分为多个系列。 过滤条件的位置取决于图表中的指标数量:
  • 单个指标:Filter & group 面板中有一个 + Filter(位于 where 插槽)。它会应用于该指标。
  • 多个指标或比率:每个指标(或比率)都会在 Pick a metric 下方自己的卡片中内嵌一个 + Filter��不会有单独的图表级过滤条件。
添加过滤条件时,默认会在 run 级别进行过滤。若要扩大范围,请打开过滤条件选择器,然后打开底部的 Advanced 子菜单,并选择:
  • Trace filter:在 trace(根 run)级别进行过滤。
  • Tree filter:只要 trace 树中的任意 run 满足条件,就包含整个 trace 树。
当前生效的范围会作为后缀显示在 Advanced 项目中(例如 Advanced Tree Filter)。点击其旁边的 X,即可重置为普通的 run 过滤条件。 数据集数据源不提供 run/trace/tree 过滤条件。数据范围由所选数据集决定。有关过滤语法,请参阅在应用中过滤 traces。 分组可以通过以下两种方式之一,在同一图表上创建多个系列:
  1. Group by:根据一个属性自动将数据拆分为多个系列。可用属性包括:Run Name、Run Type、Tag、Project、Metadata(路径形式如 metadata.ls_model_name)以及 Feedback Label。分组按出现频率排序,最多显示前 20 项。
  2. Data series:使用 Add another metric 按钮手动添加指标。每个系列都可以拥有独立的过滤条件,因此你可以在同一图表中比较例如“status 为 error 时的 count”和“status 为 success 时的 count”。
在同一个图表中,Group by 和多指标模式不能同时使用。每个图表只能使用一个分组属性。Donut、ranked bar 和 table 图表不支持多个数据系列(额外系列会被丢弃或阻止添加)。

选择可视化方式

选择一种可视化类型:
  • Line
  • Stacked bar
  • KPI
  • Ranked bar
  • Donut
  • Table

保存和管理图表

  • 点击 Save 将图表保存到仪表板。
  • 点击图表右上角的三点按钮,编辑或删除图表。
  • 点击图表右上角的三横线按钮,然后选择 + Clone 以克隆图表。此操作会打开一个新的图表创建面板,其中包含与原图表相同的配置。

调整仪表板布局

  • 重新排序图表:拖动图表的标题栏,将其移动到网格中的其他位置。
  • 仪表板时间范围:在仪表板顶部统一设置。除非图表覆盖自己的分桶大小,否则所有图表都会使用此时间范围。
  • 克隆仪表板:使用仪表板标题栏中的复制图标。克隆预构建仪表板后,其中的图表会转换为完全可编辑的自定义图表。

自定义仪表板(旧版)

适用于 LangSmith Self-hosted 和 LangSmith Cloud EU/APAC 客户。
创建适合你需求的图表集合,用于跟踪对应用最重要的指标。

创建新仪表板

  1. 在左侧边栏中进入 Monitor 标签页。
  2. 点击 + New Dashboard 按钮。
  3. 为仪表板输入名称和描述。
  4. 点击 Create。

向仪表板添加图表

  1. 在仪表板中,点击 + New Chart 按钮,打开图表创建面板。
  2. 为图表输入名称和描述。
  3. 配置图表。

图表配置

选择追踪项目并过滤 runs

  • 选择一个或多个要跟踪指标的追踪项目。
  • 使用 Chart filters 部分细化匹配的 runs。此过滤条件会应用于图表中的所有数据系列。有关更多信息,请参阅在应用中过滤 traces指南。

选择指标

  • 从下拉菜单中选择指标,以设置图表的 y 轴。选择项目和指标后,你将看到图表预览以及匹配的 runs。
  • 对于某些指标(例如延迟、Token 使用量和成本),LangSmith 支持比较单位相同的多个指标。例如,你可能希望在一个图表中同时查看 prompt Token 数和 completion Token 数。每个指标都会显示为一条单独的线。

拆分数据

在图表中创建多个系列(即在图表中创建多条线)有两种方式:
  1. Group by:按照 run 标签或元数据、运行名称或运行类型对 runs 进行分组。Group by 会根据所选字段自动将数据拆分为多个系列。默认按频率显示前 5 项,最多可配置为 20 项。
  2. Data series:使用各自的过滤条件手动定义多个系列。这适用于在单个指标中比较更细粒度的数据。

选择图表类型

  • 选择折线图或柱状图进行可视化。

保存和管理图表

  • 点击 Save 将图表保存到仪表板。
  • 点击图表右上角的三点按钮,编辑或删除图表。
  • 点击图表右上角的三横线按钮,然后选择 + Clone 以克隆图表。此操作会打开一个新的图表创建面板,其中包含与原图表相同的配置。

从追踪项目链接到仪表板

你可以直接从追踪项目链接到任意仪表板。默认情况下,会选择该追踪项目的预构建仪表板。如果你希望改为链接到自定义仪表板:
  1. 在追踪项目中,点击 Dashboard 按钮旁边的三个点。
  2. 选择一个仪表板,将其设为新的默认仪表板。

示例:用户旅程监控

使用监控图表来映射 agent 在特定节点上做出的决策。 以一个邮件助手 agent 为例。在某个节点上,它会针对一封邮件做出以下决策:
  • 发回一封邮件。
  • 通知用户。
  • 无需回复。
你可以创建一个图表,用于跟踪并可视化这些决策的分布。 创建图表
  1. 指标选择:选择指标 Run count。
  2. 图表过滤条件:添加一个 tree filter,以包含所有名称为 triage_input 的 traces。这意味着只包含经过 triage_input 节点的 traces。同时添加一个 Is Root 为 true 的图表过滤条件,这样计数就不会因 trace 中的节点数量而膨胀。
  3. 数据系列:为 triage_input 节点上做出的每个决策创建一个数据系列。决策输出存储在输出对象的 triage.response 字段中,决策值为 no、email 或 notify。每个决策都会在图表中生成一个单独的数据系列。 节点处的决策
现在,你可以随时间查看 triage_input 节点上做出的决策。