用途:创建第一个包含真实 SDK 调用的 Langfuse 追踪,帮助开发者在新集成 Langfuse、验证环境或学习基础追踪时快速上手。示例演示 trace/span/generation 三层结构、observe 包装器以及 OpenAI 直接替换式集成。
前提条件:已完成 langfuse-install-auth 配置;环境变量中存在有效 API 凭据;如使用 OpenAI 集成示例还需 OpenAI API key。
主要能力与用法:
- v4+ 模块化 SDK:使用 @langfuse/tracing 的 startActiveObservation、observe、updateActiveObservation,配合 @langfuse/otel 的 LangfuseSpanProcessor 与 @opentelemetry/sdk-node 的 NodeSDK 注册处理器,创建顶层 trace、嵌套 span 和 generation,最后调用 sdk.shutdown() 刷新数据。
- observe 包装器:可直接包装已有异步函数使其成为被追踪的 span,无需改动函数内部;传入 { name, asType: "generation" } 可将 LLM 调用标记为 generation,在观察上下文中调用时自动嵌套。
- 传统 v3 SDK:使用 langfuse 包的 Langfuse 类,通过 langfuse.trace() 创建 trace,再挂载 span 与 generation,最后调用 langfuse.flushAsync() 并可取得 trace URL。
- Python 示例:使用 langfuse.decorators 的 observe 装饰器与 langfuse_context,以 @observe() 和 @observe(as_type="generation") 装饰函数并更新当前观察。
适用场景:新项目首次接入 Langfuse、验证凭据与上报链路、学习 trace 层级概念,以及在正式接入生产代码前做本地验证。
限制与注意事项:需先完成安装与鉴权配置;生成追踪后需正确刷新(v4+ 用 sdk.shutdown(),v3 用 langfuse.flushAsync()),否则追踪可能不出现;凭证错误会返回 401;若未注册 LangfuseSpanProcessor 则不会自动嵌套。官方文档未提供具体价格或性能数据。