bug: deselecting an evaluator when running an experiment

用户在 Langfuse 平台(Cloud 版本)中准备运行实验(Experiment)时,通过点击或齿轮菜单尝试取消选中/停用某个评估器(Evaluator),但评估器在短暂显示“paused”后自动重新选中,操作未生效。

bug: deselecting an evaluator when running an experiment

bug: deselecting an evaluator when running an experiment

快速结论:该报错发生在 Langfuse 实验界面中,当用户尝试取消选择一个评估器(Evaluator)时,UI 会短暂显示“paused”闪烁状态,随后评估器自动恢复选中,操作无法生效。优先排查前端 tRPC 请求中是否缺少onError回调,导致服务器拒绝请求时错误被静默吞噬。

问题场景

用户在 Langfuse 平台(Cloud 版本)中准备运行实验(Experiment)时,通过点击或齿轮菜单尝试取消选中/停用某个评估器(Evaluator),但评估器在短暂显示“paused”后自动重新选中,操作未生效。

报错原文

When I click on the evaluator I want to deselect, it blinks saying the evaluator is "paused" then comes back. I tried the gear icon and disable the "run on experiment" but same result.

无终端/控制台堆栈错误输出,操作为 UI 状态静默回滚。

原因分析

前端组件 deactivate-config.tsx 在调用 tRPC mutation 来停用评估器时,缺少 onError 回调。当服务器拒绝请求(例如评估器已在现有轨迹上运行过),错误被静默吞噬,导致 UI 没有收到失败信号,自动重置回选中状态。用户看到“paused”闪一下后恢复,本质上是请求失败后前端状态未正确失败处理。

这是 Langfuse 的一个已知问题,已由 PR #14064 修复,在 mutation 中添加了正确的错误 toast 通知。

环境排查

  • Langfuse Cloud 版本(用户报告自托管版本未提供,根据 issue 标记为 Cloud 环境)
  • 浏览器版本(建议更新到最新主流浏览器)
  • 如果自托管:确认运行的 Langfuse 版本是否晚于 PR #14064 合并时间(2025-04-15 之后发布版本)

解决步骤

  1. 确认是否为已知 Bug:第 1 步:检查使用的 Langfuse 版本是否低于 PR #14064 的合并日期(2025-04-15),如果是,则该问题为已知前端 bug,需要升级。
  2. 升级 Langfuse 实例:如果自托管,拉取最新镜像/代码,确保包含 feat-experiments 标签相关修复。
  3. Cloud 用户等待部署:Langfuse Cloud 已自动部署修复。如果仍遇到问题,可尝试刷新页面、清除浏览器缓存,或更换浏览器无痕窗口测试。
  4. 观察错误提示:修复后,当评估器停用失败时,Langfuse 界面会弹出明确的错误 toast 通知,解释为何操作被拒绝(例如评估器已在轨迹上产生数据),用户可以据此排查。
  5. 针对缺失变量导致实验静默失败:此 issue 也提及另一个问题(实验变量/占位符缺失时静默失败),该问题不在此 PR 范围内。如有需要,请单独向 Langfuse 提交新 issue 跟踪。

验证方法

在实验准备界面,点击已选中的评估器,或通过齿轮菜单尝试取消选中,观察评估器是否不会再闪回“paused”状态。如果操作失败,应看到错误提示 toast,而不是 UI 静默回滚。可以尝试对一个已有运行记录的评估器进行停用操作,验证是否出现有意义的错误信息。

参考来源

langfuse/langfuse #14881

celebrityanime
celebrityanime
文章: 13485

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注