Skip to content

feat: add Langfuse workflow tracing - #7742

Open
lean-zone wants to merge 1 commit into
labring:mainfrom
lean-zone:feat/langfuse-tracing
Open

lean-zone wants to merge 1 commit into
labring:mainfrom
lean-zone:feat/langfuse-tracing

Conversation

@lean-zone

Copy link
Copy Markdown
Contributor

背景

为 FastGPT 工作流接入 Langfuse 可观测性,将一次对话及其工作流节点执行信息上报至 Langfuse,便于查看完整 Trace、节点输入输出、模型及 Token 使用量。

主要改动

  • 扩展 @fastgpt-sdk/otel

    • 新增 addSpanProcessor
    • 支持在 TracerProvider 初始化前注册额外 SpanProcessor
    • tracing 释放时清理额外 Processor
  • 新增 Langfuse tracing 适配层

    • 支持 LANGFUSE_SECRET_KEY
    • 支持 LANGFUSE_PUBLIC_KEY
    • 支持 LANGFUSE_BASE_URL
    • 支持从 global.systemEnv.langfuse 动态读取配置
    • 运行时配置优先于环境变量
    • 支持配置变更后热切换 Langfuse Processor
    • 仅导出包含 langfuse.* 属性的 Span
  • 增加工作流埋点

    • 仅记录 root runtime 的 chat 请求
    • 记录 session ID、用户 ID、应用 ID 和应用名称
    • 记录用户输入及助手文本输出
    • 记录节点输入和输出
    • LLM 节点记录模型名称和 Token 使用量
    • 排除 history、引用和文件列表等大体积输入
    • 超长字符串截断至 10000 字符
  • 增加 Langfuse 配置类型、依赖和环境变量模板

配置示例

TRACING_ENABLE_OTEL=true
TRACING_OTEL_SAMPLE_RATIO=1

LANGFUSE_SECRET_KEY=sk-lf-xxx
LANGFUSE_PUBLIC_KEY=pk-lf-xxx
LANGFUSE_BASE_URL=https://cloud.langfuse.com

TRACING_ENABLE_OTEL 必须开启。生产环境如需全量采集,应显式设置 TRACING_OTEL_SAMPLE_RATIO=1。

## 验证

- Langfuse 助手输出转换测试通过
- OTel SDK 构建通过
- pnpm install --lockfile-only --offline --frozen-lockfile 通过
- ESLint、Prettier 和 git diff --check 通过

@github-actions

Copy link
Copy Markdown

Build and publish successful - Preview fastgpt Image:

ghcr.io/labring/fastgpt-pr:fastgpt_e1ca0ab70f863df642022af9459acd0cb5361668

🕒 Time: 2026-09-15 12:24:25 (UTC+8)

Comment thread packages/service/core/workflow/dispatch/index.ts Outdated
Comment thread packages/service/core/workflow/dispatch/index.ts Outdated
Comment thread packages/service/core/workflow/dispatch/index.ts Outdated
Comment thread projects/app/src/service/common/system/index.ts
@xqvvu xqvvu self-assigned this Sep 15, 2026
@lean-zone
lean-zone force-pushed the feat/langfuse-tracing branch from e1ca0ab to 8bc81ea Compare September 15, 2026 09:19
@lean-zone
lean-zone force-pushed the feat/langfuse-tracing branch from 8bc81ea to 0776f73 Compare September 16, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants