Mixpanel 集成
Mixpanel 是常见的产品分析工具。Litefuse 自带 指标 能力,但不少用户希望有一种方式 把通过 Litefuse 捕获的 LLM 相关指标整合到自己的 Mixpanel 仪表盘里。
我们和 Mixpanel 的 Ryan 一起做了端到端的演示:
我们做了这个集成,让回答下列问题变得简单:
- “我最活跃的用户也是与我的 LLM 内容互动最深的吗?”
- “与 LLM 功能交互是否带来更高的留存率?”
- “LLM 功能对转化率有什么影响?”
- “我在 Litefuse 中收集的用户反馈,与我在 Mixpanel 中看到的用户行为是否相关?”
示例仪表盘
我们为 Litefuse 示例项目 启用了该集成,并使用 Mixpanel 的 AI Company KPIs 模板创建了一个仪表盘。仪表盘预览(公开链接):
快速开始
启用集成
在你的 Litefuse 项目设置中配置该集成。需要选择 Mixpanel 的区域并提供 Mixpanel Project Token。
可选区域:
- US(api.mixpanel.com)
- EU(api-eu.mixpanel.com)
- 印度(api-in.mixpanel.com)
可以在 Mixpanel 项目设置中“Project Settings” > “Project Token”里找到 Project Token。
初次同步
集成完成后,Litefuse 会把项目中的全部历史数据同步到 Mixpanel。初次同步之后,新数据会每小时自动同步一次(有 30 分钟延迟),保持你的 Mixpanel 仪表盘是最新的。
在 Mixpanel 中构建仪表盘
集成完成后,你可以在 Mixpanel 中构建仪表盘来可视化你的 Litefuse 指标(参见 下方参考)。
可以使用 AI Company KPIs 模板,从一个内置许多常用指标的预制仪表盘开始。示例见上方仪表盘预览。
导出来源(Litefuse v4)
Mixpanel 集成现在包含 Export Source 选择器。新集成默认使用 Enriched observations (recommended)(trace 属性会直接设置在 observation 上)。
这种来源使用带 trace 属性的 enriched observation,导出性能显著更优。无论选择哪个来源,Scores 都始终包含。
可选项:
Traces and observations (legacy)Traces and observations (legacy) and enriched observationsEnriched observations (recommended)
未来 Traces and observations (legacy) 来源可能会被弃用。新建的导出任务都应使用 Enriched observations (recommended),强烈建议存量的旧任务也升级。
现有配置的升级路径
存量集成会一直使用 Traces and observations (legacy),直到你修改它。
安全迁移的步骤:
- 切到
Traces and observations (legacy) and enriched observations。 - 在两种来源同时导出期间,验证下游仪表盘、变换和告警(这种模式会按设计产生重复记录)。
- 验证完毕后切到
Enriched observations (recommended)。
发布详情见 Simplify for Scale changelog。
集成细节
Litefuse 会按小时把聚合后的事件和指标批量发送到你的 Mixpanel 实例。
Metadata 匹配
Metadata 匹配可以把 Litefuse 中的数据与 Mixpanel 中的数据关联起来:
| Litefuse | Mixpanel | 备注 |
|---|---|---|
user_id | distinct_id、$user_id | |
trace.timestamp、generation.started_at、score.timestamp | time | 以毫秒级 epoch 时间戳发送 |
trace.metadata.$mixpanel_session_id | session_id | 可选,需要把 Mixpanel session id 加到你的 Litefuse trace metadata。 |
事件
集成会向 Mixpanel 发送以下事件。
还有什么额外信息有帮助?可以在 这里 提交更多事件或属性的请求。
事件:[Langfuse] Trace
time:事件发生时的毫秒级 epoch 时间戳。distinct_id:用户 ID 或匿名标识。$user_id:发送到 Mixpanel 原生 user ID 字段的用户 ID。$insert_id:用于去重的唯一标识。session_id:可选的会话标识(来自 metadata 中的$mixpanel_session_id,否则回退到 Litefuse 的 session_id)。langfuse_trace_name:trace 的名称。langfuse_url:trace 的 URL。langfuse_user_url:Litefuse 中用户主页的深链。langfuse_id:trace 的唯一标识。langfuse_cost_usd:trace 的总成本。langfuse_count_observations:trace 中 observation 的数量。langfuse_session_id:与该事件相关的会话 ID。langfuse_project_id:与该事件相关项目的 ID。langfuse_user_id:与该事件相关的 user ID。如果为空,会被标记为 litefuse_unknown_user。langfuse_latency:该事件的延迟。langfuse_release:与该事件 release 相关的信息。langfuse_version:该事件的版本。langfuse_tags:与该事件关联的所有标签。langfuse_environment:与该 trace 相关的环境。langfuse_event_version:Litefuse 集成版本号。
事件:[Langfuse] Generation
time:generation 开始时的毫秒级 epoch 时间戳。distinct_id:用户 ID 或匿名标识。$user_id:发送到 Mixpanel 原生 user ID 字段的用户 ID。$insert_id:用于去重的唯一标识。session_id:可选的会话标识(来自 metadata 中的$mixpanel_session_id,否则回退到 Litefuse 的 session_id)。langfuse_generation_name:generation 的名称。langfuse_trace_name:与 generation 相关 trace 的名称。langfuse_trace_id:与 generation 相关 trace 的唯一标识。langfuse_url:宿主平台上 generation 的 URL。langfuse_user_url:Litefuse 中用户主页的深链。langfuse_id:generation 的唯一标识。langfuse_cost_usd:计算得到的 generation 总成本。langfuse_input_units:用于发起 generation 的 token 数量。langfuse_output_units:generation 产出的 token 数量。langfuse_total_units:generation 过程中消耗的总 token 数。langfuse_session_id:与 generation 所在 trace 关联的 session ID。langfuse_project_id:generation 发生所在的项目标识。langfuse_user_id:发起与 generation 关联 trace 的 user ID。如不可用,默认为langfuse_unknown_user。langfuse_latency:观察到的 generation 延迟。langfuse_time_to_first_token:streaming 时生成第一个 token 所用时间。langfuse_release:与 generation 关联 trace 的 release 信息。langfuse_version:该 generation 的版本信息。langfuse_model:本次 generation 使用的模型。langfuse_level:与 generation 关联的 level。langfuse_tags:附在 generation 所在 trace 上的标签。langfuse_environment:与该 generation 关联的环境。langfuse_event_version:与 Litefuse 的集成版本号。
事件:[Langfuse] Score
time:score 事件发生时的毫秒级 epoch 时间戳。distinct_id:用户 ID 或匿名标识。$user_id:发送到 Mixpanel 原生 user ID 字段的用户 ID。$insert_id:用于去重的唯一标识。session_id:可选的会话标识(来自 metadata 中的$mixpanel_session_id,否则回退到 Litefuse 的 session_id)。langfuse_score_name:与该 score 关联的名称。langfuse_score_value:该 score 的值。langfuse_score_string_value:score 的字符串值。对于 BOOLEAN 和 CATEGORICAL 类型,这是值的字符串表示。langfuse_score_data_type:score 的数据类型(NUMERIC、BOOLEAN、CATEGORICAL)。langfuse_score_comment:附在 score 上的评论。langfuse_score_metadata:附在 score 上的 metadata。langfuse_trace_name:与该 score 关联 trace 的名称。langfuse_trace_id:与该 score 关联 trace 的唯一标识。langfuse_user_url:Litefuse 中用户主页的深链。langfuse_id:该 score 的唯一标识。langfuse_session_id:与该 score 所在 trace 关联的 session ID。langfuse_project_id:与该 score 所在 trace 关联的项目标识。langfuse_user_id:触发与 score 绑定 trace 的 user ID。如不可用,默认为langfuse_unknown_user。langfuse_release:与该 score 关联 trace 的 release 信息。langfuse_tags:与该 score 所在 trace 相关的标签。langfuse_environment:与该 score 关联的环境。langfuse_event_version:与 Litefuse 的集成版本号。
故障排查
Mixpanel 中数据缺失? 请检查你是否在 Litefuse 项目设置中正确选择了 Mixpanel 区域并填入了 Project Token。集成每小时同步一次数据,且有 30 分钟延迟,因此新事件出现前会有一小段延迟。如果遇到其他集成相关问题,欢迎联系我们。