用途:为 Langfuse 搭建多环境(development、staging、production)配置,使每个环境使用独立的项目与 API 密钥,并接入密钥管理与 CI/CD,防止跨环境数据串流。
主要能力:按环境区分配置,包括导出间隔、批量大小、调试开关与采样率(开发 100%、预发布 50%、生产 10%);通过 detectEnvironment 依据 NODE_ENV 与 VERCEL_ENV 判断当前环境;启动时校验 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY 是否存在,并用 Zod 校验密钥前缀(pk-lf-、sk-lf-)以实现快速失败;提供 .env.local、.env.staging、.env.production 的变量组织方式,并将 .env、.env.local、.env.*.local 加入 .gitignore。
使用方式:创建 src/config/langfuse.ts,使用 @langfuse/otel 的 LangfuseSpanProcessor 与 @opentelemetry/sdk-node 的 NodeSDK 初始化,再以 @langfuse/client 的 LangfuseClient 处理提示词、数据集与评分。密钥可通过 GitHub Actions 环境级 Secrets、AWS Secrets Manager(aws secretsmanager create-secret)或 GCP Secret Manager(gcloud secrets create)注入。CI/CD 示例按分支与环境分别设置 LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、LANGFUSE_BASE_URL、NODE_ENV。
适用场景:需要多环境部署且要求轨迹数据不混淆的 LLM 应用。
限制:资料未提供具体收费、价格与平台支持范围;密钥值需按实际填写,示例中的占位值不可直接使用。