学习笔记 · Obsidian

Tracing Project 生命周期、过滤视图与 Dashboard

LangChainLangSmith

Smith API 中 Tracing Project 仍使用历史名称 Tracer Session,路径是 /api/v1/sessions。它是 Run/Trace、统计、过滤视图、Dashboard 和 Insights 的授权/存储边界,不是一次用户会话。

Project CRUD

能力方法与路径关键参数
创建POST /api/v1/sessionsquery upsert=false;body TracerSessionCreate
列表GET /api/v1/sessions过滤、排序、offset/limit、stats/facets
读单个GET /api/v1/sessions/{session_id}include_stats、stats_start_time
更新PATCH /api/v1/sessions/{session_id}name/description/dataset/end/extra/trace tier
删单个DELETE /api/v1/sessions/{session_id}200,无响应体
批量删DELETE /api/v1/sessions?session_ids=...可重复 UUID query

创建模型包含 name/description、可选稳定 id、start/end time、extra、default/reference dataset、tag values、实验次数/评估键以及 trace_tier=longlived|shortlived。upsert 只是服务端选项,调用方仍应提供稳定 ID/名称和业务幂等键,并在超时后先查再创建。

列表与统计的成本边界

列表默认 offset=0, limit=100,可按 ID/name/name contains、reference dataset、dataset version、metadata JSON、tag、filter 和是否 reference-free 筛选;可按 name/start/last run/latency/error rate/feedback 排序。

include_stats、facets、use_approx_stats、stats_select、stats_filter 会显著改变查询成本和响应体。项目响应可包含 Run 数、latency/first-token P50/P99、token/cost、feedback stats、facets、error/streaming rate 和实验进度。列表页默认不取全统计;将指标查询限制到显式时间窗,并对一页中的项目数设上限。

GET /sessions/{session_id}/metadata 按可选 metadata keys 返回每个 key 的 top-K 值,默认 k=10,可限时间并只看根 Run。它是构建 filter/facet 候选项的接口,不应用来枚举高基数、PII 或密钥型 metadata。

Filter View 是保存的查询语义

操作方法与路径
创建 / 列表POST / GET /api/v1/sessions/{session_id}/views
读 / 更新 / 删除GET / PATCH / DELETE .../views/{view_id}
只重命名PATCH .../views/{view_id}/rename

创建必填 display_name,可存 filter_string、trace_filter_string、tree_filter_string、description、start/end/duration。type 枚为 runs|threads|single_run。rename 只修改 display name/description,而通用 update 可改过滤与时间语义;UI 应将两种变更区分审计,避免用户以为“只改名”却改变数据范围。

固定 start/end 是可重现快照,duration 是滚动窗口;产品层应明示时区、实际解析时间和 filter 版本。服务端仍需对 view 中的 session 做授权,不能因 view ID 可猜测就绕过 workspace 边界。

预制 Dashboard

POST /api/v1/sessions/{session_id}/dashboard 接受 timezone(默认 UTC)、start/end、stride、omit_data 和 group-by,返回包含图表的 section。omit_data=true 适合先取布局/配置,不要在初始页面无条件拉取所有时序数据。相同 dashboard 的缓存 key 需包含 workspace、session、timezone、窗口、stride、group-by 和权限版本。

更新、保留与删除

trace_tier 会影响 Trace 保留/存储策略,修改前必须评估合规、成本、回溯和下游导出。删 Project 前列出 Run/Trace 数、公开 share、rules/alerts、filters/charts、Feedback、bulk export 和 dataset 关联,先停止新 ingest 再导出/审批/分批删除。OpenAPI 只给 200/422,没有承诺级联、软删除或恢复;运行时未实测前不应宣称下游已一同清理。