bug: Manual scoring silently clamps values outside the allowed range instead of showing a validation error

用户在 Langfuse 自托管实例(v3.195.0 OSS)上使用手动评分功能,配置评分范围(例如 0–1000),输入超出范围的值(例如 10001),在移出输入框或提交时,值被静默改为边界值 1000,且无任何验证错误提示。

bug: Manual scoring silently clamps values outside the allowed range instead of showing a validation error

bug: Manual scoring silently clamps values outside the allowed range instead of showing a validation error

快速结论:该问题在 Langfuse 的手动评分 UI 中,当输入超出评分范围的值后,UI 会静默替换为边界值(例如 10001 变成 1000),没有任何错误提示。但经社区复现和讨论确认,当前版本(v3.195.0 OSS)下实际未复现该行为——UI 显示的是之前保存的评分值,而非真正的“钳位”。如果遇到类似现象,建议优先检查:评分表单中是否显示的是历史保存值,而非当前输入值。

问题场景

用户在 Langfuse 自托管实例(v3.195.0 OSS)上使用手动评分功能,配置评分范围(例如 0–1000),输入超出范围的值(例如 10001),在移出输入框或提交时,值被静默改为边界值 1000,且无任何验证错误提示。

报错原文

# 这不是一个报错,而是 UI 行为的描述
# 用户输入 10001 后,UI 自动将值改为 1000,且无任何警告或错误提示

原因分析

可能原因:用户观察到 UI 显示的值被“修正”,但实际原因可能是 UI 回显了之前保存的有效评分值(例如之前保存的 1000),而非对当前输入值进行了钳位。在 Issue 的后续讨论中,提交者 RHarish1 经过更仔细的测试后自行撤回报告,认为可能是误解,而不是一个真正的 bug。

注:该问题被标记为 🐞❔ unconfirmed bug,在关闭前未被社区其他用户复现或证实。

环境排查

  • Langfuse 版本:v3.195.0 OSS
  • 部署方式:自托管(Langfuse Cloud 未报告该问题)
  • 浏览器/UI 版本:未明确,需确认是否与缓存或前端状态管理有关

解决步骤

  1. 检查是否是历史值回显:先确认输入框内显示的值是否真的是刚刚输入的内容,还是之前保存过的有效值。可以在新评分表单(未保存过历史值)中测试,直接输入超出范围的值并观察行为。
  2. 手动测试提交:输入超范围值后,不点击“提交”,而是直接通过 API 提交评分(例如 POST /api/scores),确认服务端是否拒绝超范围分值的请求——如果服务端正确拒绝(返回验证错误),则问题仅存在于前端展示。
  3. 清除缓存并重试:关闭页面、清除浏览器缓存 / 刷新页面后再输入测试,排除 UI 状态残留。
  4. 考虑升级版本:如果当前使用的 Langfuse 版本较老,可以尝试升级到最新版本(截至 Issue 关闭时,v3.195.0 未确认存在该问题,但后续版本可能有相关修复或改进)。

验证方法

在手动评分界面输入一个明显超出评分范围的值(例如评分范围 0-100,输入 200),观察是否有验证错误提示、提交按钮是否被禁用。如果没有出现提示,且值被静默修改,可以尝试升级版本或重建表单后再测试。如果值保持不变(显示 200),但提交后服务端返回错误,则说明服务端验证正常,问题仅局限在 UI 视觉反馈层面。

参考来源

langfuse/langfuse #15009

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 13630

发表回复

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