能力概览
LLM 生成追踪
自动记录输入消息、输出内容、模型参数和 Token 使用统计。
工具调用观测
追踪工具调用的参数、执行结果、耗时和调用层级。
嵌套链路支持
支持复杂的多层调用链路和后续 generation 追踪。
流式响应兼容
兼容流式与非流式 LLM 响应,不改变原有开发方式。
安装和配置
获取项目凭据
- 访问 Langfuse 并注册账户
- 创建新项目
- 获取项目的 Public Key 和 Secret Key
当前实现不会根据
LANGFUSE_ENABLED 自动跳过观测调用。如果你需要按环境开关启停,请在应用层自行控制是否挂载和调用相关逻辑。配置方式
- Shell 环境变量
- Python 启动前设置
使用示例
基本 LLM 函数追踪
基本 LLM 函数追踪
带工具调用的追踪
带工具调用的追踪
聊天对话追踪
聊天对话追踪
追踪数据结构
Generation 追踪
Generation 追踪
每个 LLM 调用会创建一个 Generation,通常包含:
- 输入消息列表
- 输出内容与工具调用
- 模型名称和参数
- Token 使用量与成本信息
- 流式模式、可用工具数量等元数据
Tool 追踪
Tool 追踪
每个工具调用会创建一个 Tool 观测,包含:
- 工具调用参数
- 工具执行结果
- 工具调用 ID、执行时间等元数据
层级结构示意
层级结构示意
配置选项
环境变量
| 变量名 | 描述 | 默认值 | 必需 |
|---|---|---|---|
LANGFUSE_PUBLIC_KEY | Langfuse 公钥 | - | 是 |
LANGFUSE_SECRET_KEY | Langfuse 私钥 | - | 是 |
LANGFUSE_BASE_URL | Langfuse 服务器地址 | https://cloud.langfuse.com | 否 |
LANGFUSE_EXPORT_ALL_SPANS | 导出所有 OpenTelemetry spans | true | 否 |
LANGFUSE_ENABLED | 是否启用观测 | true | 否 |
Langfuse v4 注意事项
- v4 默认会过滤非 LLM 的 OpenTelemetry spans;框架默认保持 v3 的“导出全部 spans”行为。如需使用 v4 的智能过滤,请设置
LANGFUSE_EXPORT_ALL_SPANS=false - v4 会将
metadata值规范化为字符串并限制长度,框架侧已自动做字符串化处理
最佳实践
环境分离
环境分离
LANGFUSE_ENABLED 来跳过观测调用。如果你需要按环境开关,请在应用层自行判断。错误处理与日志
错误处理与日志
性能与隐私
性能与隐私
- Langfuse 调用是异步的,通常不会阻塞主业务逻辑
- 高并发场景下,建议结合客户端配置和事件流监控一起调优
- 发送到 Langfuse 前,请先脱敏敏感数据
- 如果数据敏感,优先考虑自托管 Langfuse 实例
故障排除
观测器未启用
观测器未启用
常见现象:排查方式:
- 检查环境变量是否正确设置
- 确认
langfuse包已安装
连接失败
连接失败
常见现象:排查方式:
- 检查网络连接
- 验证 API 密钥是否正确
- 确认
LANGFUSE_BASE_URL设置正确
数据未显示
数据未显示
- 检查 Langfuse 仪表板项目设置
- 确认使用的是正确的项目密钥
- 等待数据同步,通常只需要几秒钟
调试模式
调试模式
相关示例与链接
Token 用量统计示例
查看
llm_function + 事件流 + 用量统计的完整链路。事件流聊天示例
查看对话、工具调用与事件流协同的完整例子。
Langfuse 官方文档
阅读 Langfuse 的原生产品文档和平台能力说明。