以编程方式使用文档

LangSmith UI 目前不支持删除单个轨迹。但是,可以通过直接从 ClickHouse 中的所有物化视图(runs 除外)_历史视图)以及 runs 和 feedback 表本身中删除轨迹来实现。

此命令可以使用轨迹 ID 作为参数运行,也可以使用包含轨迹 ID 列表的文件运行。

前提条件

Ensure you have the following tools/items ready.

  1. kubectl
  1. ClickHouse 数据库凭据
  • * 主机
  • * 端口
  • * 用户名
  • * 如果使用捆绑版本,则为 default
  • * 密码
  • * 如果使用捆绑版本,则为 password
  • * 数据库名称
  • * 如果使用捆绑版本,则为 default
  1. 从运行该 delete_trace_by_id 脚本的计算机到 ClickHouse 数据库的连接。
  • * 如果使用捆绑版本,可能需要将 ClickHouse 服务端口转发到本地计算机。
  • * 运行 kubectl port-forward svc/langsmith-clickhouse 8123:8123 将 ClickHouse 服务端口转发到本地计算机。
  1. 用于删除轨迹的脚本

运行删除脚本删除单个轨迹

运行以下命令使用单个轨迹 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 条追踪,并在批次之间等待几分钟以便删除处理

如果在大量删除后遇到问题,请联系 支持.