LangSmith UI 目前不支持删除单个轨迹。但是,可以通过直接从 ClickHouse 中的所有物化视图(runs 除外)_历史视图)以及 runs 和 feedback 表本身中删除轨迹来实现。
此命令可以使用轨迹 ID 作为参数运行,也可以使用包含轨迹 ID 列表的文件运行。
前提条件
Ensure you have the following tools/items ready.
- kubectl
- ClickHouse 数据库凭据
- * 主机
- * 端口
- * 用户名
- * 如果使用捆绑版本,则为
default - * 密码
- * 如果使用捆绑版本,则为
password - * 数据库名称
- * 如果使用捆绑版本,则为
default
- 从运行该
delete_trace_by_id脚本的计算机到 ClickHouse 数据库的连接。
- * 如果使用捆绑版本,可能需要将 ClickHouse 服务端口转发到本地计算机。
- * 运行
kubectl port-forward svc/langsmith-clickhouse 8123:8123将 ClickHouse 服务端口转发到本地计算机。
- 用于删除轨迹的脚本
- * 下载 轨迹脚本
运行删除脚本删除单个轨迹
运行以下命令使用单个轨迹 ID 运行轨迹删除脚本:
sh delete_trace_by_id.sh <clickhouse_url> --trace_id <trace_id>
例如,如果使用带端口转发的捆绑版本,命令如下:
sh delete_trace_by_id.sh "clickhouse://default:password@localhost:8123/default" --trace_id 4ec70ec7-0808-416a-b836-7100aeec934b
如果访问 LangSmith UI,应该会看到指定的轨迹 ID 不再存在,也不会反映在统计中。
运行删除脚本从文件中删除多个轨迹(每行一个轨迹 ID)
运行以下命令使用轨迹 ID 列表运行轨迹删除脚本:
sh delete_trace_by_id.sh <clickhouse_url> --file <path/to/foo.txt>
例如,如果使用带端口转发的捆绑版本,命令如下:
sh delete_trace_by_id.sh "clickhouse://default:password@localhost:8123/default" --file path/to/traces.txt
如果访问 LangSmith UI,应该会看到所有指定的轨迹都已被删除。
故障排除
“找不到轨迹 ID”错误
如果收到轨迹 ID 找不到的错误消息,请将 --ssl 标志添加到命令中。如果没有此标志,脚本可能无法正确连接到 ClickHouse,导致误报“找不到轨迹 ID”错误。
带 SSL 标志的示例:
sh delete_trace_by_id.sh "clickhouse://default:password@localhost:8123/default" --file path/to/traces.txt --ssl
您也可以通过直接连接到 ClickHouse 来验证追踪是否存在 clickhouse-cli 并在运行删除脚本之前查询追踪 ID
大规模删除后的服务中断
如果在删除大量追踪后服务无响应,删除队列可能已超载
Prevention: 将每次运行的删除量限制为 10,000 条追踪,并在批次之间等待几分钟以便删除处理
如果在大量删除后遇到问题,请联系 支持.