过滤参数
性能提示:传递
select 参数并从列表中排除 inputs 和 outputs 可以显著提高查询性能并减小响应大小,尤其是对于大型运行。过滤查询语言
LangSmith 支持使用过滤查询语言进行复杂过滤操作,以便在获取运行时使用。这在通过 SDK 或 API 以编程方式查询跟踪时特别有用,例如在评估管道、监控脚本或检查先前跟踪的代理工作流中。比较器
过滤语法基于应用于运行对象字段的比较器函数:逻辑运算符
使用and 和 or 组合多个比较器:
可过滤字段
值格式
- 字符串:用双引号或单引号括起来,
eq(name, "MyChain")或eq(name, 'MyChain')。 - 时间戳:ISO 8601 格式,
"2024-06-01T00:00:00Z"。 - 持续时间:秒数,可以是数字或带有
s后缀的字符串,"5s"、"1.5s"、"90s"或1.5。不支持其他单位后缀(m、h)。 - 列表:JSON 数组语法,
["session_id", "thread_id"]。
快速参考示例
以下示例仅显示过滤器字符串。在client.list_runs() 或 /runs/query API 端点中,将字符串作为 filter、trace_filter 或 tree_filter 参数传递。
按运行名称过滤
按错误状态过滤
按延迟过滤
按时间范围过滤
按标签过滤
按元数据键或值过滤
按线程 ID 过滤
按反馈分数过滤
全文搜索所有字符串字段
组合条件
使用 trace_filter 和 tree_filter
filter 应用于返回的运行。trace_filter 应用于跟踪的根运行。tree_filter 应用于跟踪树中任意位置的任何运行。
tree_filter 将相同的查询语法应用于跟踪树中任意位置的运行。对于针对任意嵌套子运行字段(例如返回的 inputs、outputs 或 extra 负载路径)的谓词,请首先使用服务器端过滤器缩小候选范围,然后使用子运行填充根跟踪并在本地遍历它们。请参见使用子运行谓词查询跟踪树。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

