- 快速缩小范围至特定运行,进行临时分析。
- 识别并检查错误、失败的运行以及性能瓶颈。
创建和应用过滤器
按运行属性过滤
在追踪项目中过滤运行有两种方式:-
过滤器:位于追踪项目页面的左上角。这是您构建和管理过滤条件的地方。
- 第一个下拉菜单用于过滤默认和已保存的视图。
- 按追踪或运行快速过滤。
- + 添加过滤器以基于属性或全文搜索配置过滤器。

-
过滤器快捷方式:位于追踪项目页面的右侧边栏。过滤器快捷方式栏提供基于项目运行中最常见属性的快速访问过滤器。

默认情况下,应用追踪过滤器,仅显示顶级根运行。您可以切换到运行以显示所有运行。
过滤运算符
可用的过滤运算符取决于您正在过滤的属性的数据类型。以下是常见运算符的概述:- is:与过滤值精确匹配
- is not:与过滤值反向匹配
- contains:与过滤值部分匹配
- does not contain:与过滤值反向部分匹配
- is one of:与列表中的任一值匹配
>/<:适用于数值字段
特定过滤技术
过滤运行(跨度)
要过滤运行(跨度),请将默认的追踪更改为运行。例如,如果您想按运行的运行名称过滤或按运行类型过滤,就需要这样做。 运行元数据和标签也是有用的过滤依据。这依赖于管道各部分的良好标签实践。要了解更多信息,请参阅向追踪添加元数据和标签。 当您指定更多过滤器时,可以单独点击每个过滤器以更新您正在搜索的属性。基于输入和输出过滤
您可以根据运行输入和输出中的内容过滤运行。 要过滤输入或输出,您可以使用 全文搜索过滤器,它将匹配任一字段中的关键词。要进行更精确的搜索,您可以使用 输入或 输出过滤器,它们将仅根据相应字段匹配内容。为了性能考虑,我们为全文搜索索引最多 250 个字符的数据。如果您的搜索查询超过此限制,我们建议改用输入/输出键值对搜索。
- 使用全文搜索包含由空格分隔的多个术语。
- 在添加第一个过滤器后,使用 按钮添加多个过滤器。
令牌必须至少 2 个字符长才能被索引。单字符令牌(例如
a、x)不包含在搜索中。
python 和 tensorflow,并在输入中搜索 embedding,在输出中搜索 fine 和 tune。
您可以根据需要从过滤器路径中移除过滤器,这将扩大搜索范围至剩余的过滤器。
基于输入/输出键值对过滤
除了全文搜索,您还可以根据输入和输出中的特定键值对过滤运行。这允许更精确的过滤,尤其是在处理结构化数据时。LangSmith 为每个运行索引最多 100 个唯一键,以保持数据的组织性和可搜索性。每个键的值也限制为 250 个字符。如果您的数据超过任一限制,文本将不会被索引。这有助于确保快速、可靠的性能。
- 选择 + 添加过滤器。
- 从第一个下拉菜单中选择 Input,将第二个下拉菜单保留为 Key,并选择
input作为键。 - 点击 + Value 并输入值:
What is the capital of France?。

Output Key,输入 documents.page_content 作为键,并输入 The capital of France is Paris 作为值。这将匹配嵌套键 documents.page_content 与指定的值。


示例:过滤工具调用
搜索包含特定工具调用的追踪是很常见的。工具调用通常在 LLM 运行的输出中指示。要过滤工具调用,您将使用 Output Key 过滤器。 虽然此示例将向您展示如何过滤工具调用,但相同的逻辑可用于过滤输出中的任何键值对。 在这种情况下,假设这是您想要过滤的输出:| 键 | 值 |
|---|---|
generations.type | ChatGeneration |
generations.message.type | constructor |
generations.message.kwargs.type | ai |
generations.message.kwargs.id | run-ca7f7531-f4de-4790-9c3e-960be7f8b109 |
generations.message.kwargs.tool_calls.name | Plan |
generations.message.kwargs.tool_calls.args.steps | Research LangGraph's node configuration capabilities |
generations.message.kwargs.tool_calls.args.steps | Investigate how to add a Python code execution node |
generations.message.kwargs.tool_calls.args.steps | Find an example or create a sample implementation of a code execution node |
generations.message.kwargs.tool_calls.id | toolu_01XexPzAVknT3gRmUB5PK5BP |
generations.message.kwargs.tool_calls.type | tool_call |
type | LLMResult |
generations.message.kwargs.tool_calls.name = Plan
这将匹配 tool_calls 名称为 Plan 的根运行和非根运行。
键值对的反向过滤
不同类型的反向过滤可以应用于 元数据、 输入和 输出字段,以从结果中排除特定运行。 例如,要查找所有元数据键phone 不等于 1234567890 的运行:
- 将 Metadata Key 运算符设置为
is,Key 字段设置为phone。 - 将 Value 运算符设置为
is not,Value 字段设置为1234567890。
phone 且值不是 1234567890 的运行。
要查找没有特定元数据键的运行:将 Key 运算符设置为 is not。例如,将 Key 运算符设置为 is not,键为 phone,将匹配所有元数据中没有 phone 字段的运行。
您也可以过滤既没有特定键也没有特定值的运行。要查找元数据中既没有键 phone 也没有任何字段值为 1234567890 的运行,请将 Key 运算符设置为 is not,键为 phone,并将 Value 运算符设置为 is not,值为 1234567890。

phone 键但其他某个键的值为 1234567890 的运行,请将 Key 运算符设置为 is not,键为 phone,并将 Value 运算符设置为 is,值为 1234567890。
保存过滤器
保存过滤器允许您存储和重用常用的过滤器配置。保存的过滤器特定于某个追踪项目。 构建过滤器后,点击 Save as 按钮进行保存。这将弹出一个对话框,用于指定过滤器的名称和描述。
更新已保存的过滤器
在下拉菜单中选择过滤器后,您可以对过滤器参数进行任何更改。然后,点击 Save 以更新过滤器。删除已保存的过滤器
点击下拉菜单中已保存过滤器旁边的 图标,然后使用垃圾桶 图标删除过滤器。复制过滤器
您可以复制已构建的过滤器,以便与同事共享、稍后重用,或在 API 或 SDK 中以编程方式查询运行。 要复制过滤器:- 在 UI 中创建它。
- 点击过滤器栏中的 图标。如果您构建了树或追踪过滤器,也可以复制它们。
- 这将为您提供一个表示 LangSmith 查询语言中过滤器的字符串。例如:
and(eq(is_root, true), and(eq(feedback_key, "user_score"), eq(feedback_score, 1)))。
在追踪视图中过滤运行
您也可以直接在追踪视图中应用过滤器,这对于筛选包含大量运行的追踪非常有用。主运行表视图中可用的相同过滤器可以应用于此处。 默认情况下,仅显示与过滤器匹配的运行。要在追踪树的更广泛上下文中查看匹配的运行,请将视图选项从“仅过滤”切换为“显示全部”或“最相关”。
在 LangSmith 查询语言中手动指定原始查询
如果您复制了先前构建的过滤器,您可能希望在未来的会话中手动应用此原始查询。 为此,您可以点击追踪视图中过滤器弹出窗口底部的 Switch to raw query。然后,您可以将原始查询粘贴到文本框中。这将把该查询添加到现有查询中,而不是覆盖它。
高级过滤器
过滤根属性的运行(跨度)
一个常见的概念是过滤属于某个追踪的运行,该追踪的根运行具有某些属性。例如,过滤特定类型的运行,其根运行具有正面(或负面)反馈。操作如下:- 在追踪/运行切换中点击 Runs。
- 添加另一个过滤器规则。然后,您可以点击过滤器下拉菜单底部的 Advanced 过滤器链接。
- 将打开一个模态框,您可以在其中添加 Trace 过滤器。这些过滤器将应用于您已过滤的各个运行的所有父运行的追踪。
过滤子运行具有某些属性的运行(跨度)
您可能想要搜索具有特定类型子运行的运行。一个例子是搜索所有具有名为Foo 的子运行的追踪。当 Foo 并非总是被调用,但您想分析它被调用的情况时,这很有用。
- 在追踪/运行切换中点击 Runs。
- 添加另一个过滤器规则。然后,您可以点击过滤器下拉菜单底部的 Advanced 过滤器链接。
- 将打开一个模态框,您可以在其中添加 Tree 过滤器。这将使您指定的规则应用于您已过滤的各个运行的所有子运行。
示例:过滤其树包含工具调用过滤器的所有运行
扩展工具调用过滤示例,如果您想过滤所有_其树包含_工具过滤调用的运行,您可以使用 Advanced 过滤器设置中的树过滤器。将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。










