用途:把 Langfuse 集成进 CI/CD 流水线,在 GitHub Actions 中做追踪校验、提示词回归测试、基于实验的质量门禁、从版本控制自动部署提示词,以及评分回归监控。
前提:Langfuse API 密钥存入 GitHub secrets(LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY);测试框架 Vitest 或 Jest;LLM 测试需 OpenAI API key。
主要能力与用法:
- GitHub Actions 工作流:在 pull_request 触发路径 src/ai/、src/prompts/、tests/ai/** 时运行 AI 质量测试,注入密钥与 LANGFUSE_BASE_URL(默认 https://cloud.langfuse.com),并做 Langfuse 连通性检查。
- 提示词回归测试:用 @langfuse/client 取提示词并 compile,配合 @langfuse/tracing 的 startActiveObservation/updateActiveObservation 记录生成,断言输出长度或分类结果是否在允许集合内。
- 实验质量门禁:调用 langfuse.runExperiment,指定 datasetName、runName(含 GITHUB_SHA 短哈希)、task 与 evaluators,计算准确率并断言不低于 0.8。
- 提示词自动部署:push 到 main 且改动 src/prompts/** 时运行脚本,读取 JSON 配置并调用 langfuse.api.prompts.create 创建带 production 标签的提示词。
- 评分回归监控:用 langfuse.api.scores.list 取 quality 评分,计算均值,低于 0.7 时以非零码退出阻断 PR。
本地示例:LANGFUSE_PUBLIC_KEY=pk-lf-... LANGFUSE_SECRET_KEY=sk-lf-... npx vitest run tests/ai/ --reporter=verbose
限制与注意:CI 测试建议 temperature: 0、使用独立 CI 密钥、断言范围而非精确字符串、在 afterAll 中 flush/shutdown;常见问题包括未 flush 导致追踪缺失、LLM 非确定性导致测试不稳定、提示词未部署、CI 缺少 secrets。资料未提供具体收费、价格与平台支持范围。