Skip to content

Trace 搜索/同步在部分 Langfuse 自建版本上会 404 #146

Description

@Wendy01110

Hi,在自建 Langfuse 上接入 Trace 搜索和同步时遇到两个 404,想和你们确认一下是否符合当前设计,以及有没有计划覆盖这两类部署。

目前 4.14 的流程大致是:

  1. 搜索:GET /api/public/traces
  2. 同步:GET /api/public/v2/observations?traceId=...

HTTP 404 会统一提示 Langfuse endpoint was not found. Check the base URL. 本地核对过 Base URL 和 API key 都有效,所以排查时容易先走到连接配置上。

观察到的情况

Langfuse 3.110

  • 搜索正常,/api/public/traces 可用。
  • 同步失败,/api/public/v2/observations 返回 404。
  • 同一实例上 /api/public/observations 仍然可用。

Langfuse 4.15(官方 langfuse:4 镜像,events_only

  • /api/public/projects/api/public/v2/observations 返回 200,密钥和地址看起来没问题。
  • 搜索失败,GET /api/public/traces 返回 404,正文类似:
{"message":"This endpoint is not available on deployments running in Langfuse v4 events_only mode. Learn more about Langfuse v4 at: https://langfuse.com/docs/v4"}
  • 如果能搜到 Trace,同步走 v2 observations,在这份 4.15 上是成功的。

对照起来,像是搜索和同步分别依赖了 Langfuse 不同阶段的 Public API:

Langfuse /api/public/traces /api/public/v2/observations
3.110 可用 不可用
4.15 events_only 不可用 可用

另外,搜索对话框里 From / To 如果填成同一个时间点,走 observations 查询时会变成空时间窗。如果后面要做回退路径,可能需要忽略这种倒置或零宽度窗口。

一个可行的方向

在 4.15 上,v2 observations 已经带有 traceIdtraceNameisRootObservation 等字段。搜索在 GET /api/public/traces 404 时,可以改拉 GET /api/public/v2/observationsfields 包含 trace_context),再按 traceId 聚合成列表。

本地按这个方式试过:4.15 events_only 上可以列出 Trace 并完成同步。如果这个方向合适,我可以补一个 PR。404 的提示如果能区分「接口在该版本不可用」和「这条 Trace 不存在」,排查也会清楚很多。

谢谢。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions