feat: api/sdks, optionally set timestamp when creating a score

该问题出现在使用 Langfuse Python/JS SDK 批量创建 score 时,score 的时间戳总是被设为打分当下,无法对齐到原始 trace 时间。优先确认你使用的 Langfuse 服务端版本和 SDK 版本是否已支持创建 score 时传入可选 timestamp 。

快速结论:该问题出现在使用 Langfuse Python/JS SDK 批量创建 score 时,score 的时间戳总是被设为打分当下,无法对齐到原始 trace 时间。优先确认你使用的 Langfuse 服务端版本和 SDK 版本是否已支持创建 score 时传入可选 timestamp。

适用环境:Langfuse(服务端 v4.59.0 起支持 POST /api/public/scores 的可选 timestamp);Python SDK v5.0.1(create_score(timestamp=...));JS SDK v6.0.0。Issue 未提供操作系统、Python、CUDA、显卡等环境信息。

最快修复方案:升级 Langfuse 服务端到 v4.59.0 或更高,Python SDK 升级到 v5.0.1 或更高、JS SDK 升级到 v6.0.0 或更高,然后在创建 score 时通过 SDK 传入 timestamp 参数。

注意事项:该能力在服务端和 SDK 两端都需要对应版本,仅升级其中一端可能仍不生效;timestamp 为可选参数,未传时行为保持为“打分当下”这一旧默认值。Issue 未给出具体参数格式示例,需以对应版本 SDK 文档为准。

问题场景

用户在批量给 generation 打分(scoring generations in batches)时,希望 score 的时间戳与对应 trace 的时间戳一致,而不是记录为实际执行打分的那一刻。用户提出希望通过 API 在创建 score 时自行指定时间戳,并指出该需求与 #1157 类似(但 #1157 针对 trace,本 Issue 针对 score)。

报错原文

feat: api/sdks, optionally set timestamp when creating a score

I am scoring my generations in batches.
At the moment, the timestamp is always at the moment of scoring, while I would like it to be the trace timestamp.
It would be very nice to be able to set the timestamp for the score over the api when creating it.

原因分析

这是一个功能缺失(feature request),并非运行时异常。此前创建 score 的 API/SDK 不支持传入 timestamp,因此 score 的时间戳被固定为打分动作发生的时间点,导致批量打分场景下无法与原始 trace 的时间对齐。评论中一度有人建议用 #1157 关闭本 Issue,但维护者明确区分:#1157 面向 trace,#3245 面向 score,二者不是同一实现。

环境排查

  • 确认 Langfuse 服务端版本是否 ≥ v4.59.0(该版本起 POST /api/public/scores 接受可选 timestamp)。
  • 确认 Python SDK 是否 ≥ v5.0.1(create_score(timestamp=...))。
  • 确认 JS SDK 是否 ≥ v6.0.0(通过 SDK 透传 timestamp)。
  • 若使用自建部署,确认服务端已实际升级并重启到对应版本,而不仅是升级了 SDK。

解决步骤

  1. 升级 Langfuse 服务端到 v4.59.0 或更高版本,使 POST /api/public/scores 支持可选 timestamp。
  2. 若使用 Python,将 SDK 升级到 v5.0.1 或更高,然后在创建 score 时传入 timestamp(如 create_score(timestamp=...))。
  3. 若使用 JS,将 SDK 升级到 v6.0.0 或更高,通过 SDK 透传 timestamp。
  4. 直接用 REST API 的场景,在调用 POST /api/public/scores 时附加可选 timestamp 字段。

验证方法

批量创建 score 后,检查这些 score 的时间戳是否为你传入的值(例如对齐到 trace 时间),而不再是打分动作发生的时刻。可通过 Langfuse 界面或读取 API 返回的 score 记录确认时间戳字段。

参考来源

langfuse/langfuse #3245

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29200

发表回复

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