用途:把 Langfuse 中的观测数据迁移到 Arize AX,涵盖历史 trace、数据集和提示词。
主要能力:通过捆绑脚本 scripts/migrate_vendor_traces.py --vendor langfuse 导入历史 observations/traces,而非仅靠 AX 实时流量伪造迁移;数据集经公开 API 配合 ax datasets create 创建;提示词经 GET /api/public/v2/prompts 读取后由 ax prompts create / create_version 与 labels 重建。trace 属性映射包括:observation output→output.value(文本,不放入 message/parts 时间线)、observation input→input.value、trace sessionId→session.id、userId→user.id、type→openinference.span.kind、parentObservationId/traceId→OTLP parent/trace id,并附加 migration.source=langfuse。
使用方式:先确认目标 space、AX 项目与资源类型;预检用 ax projects list --space SPACE,并冒烟测试 Langfuse 认证。导入示例:export ARIZE_API_KEY=... ARIZE_SPACE_ID=... LANGFUSE_PUBLIC_KEY=... LANGFUSE_SECRET_KEY=... LANGFUSE_BASE_URL=...,再运行 python scripts/migrate_vendor_traces.py --vendor langfuse --arize-project DEST_PROJECT --limit 200。可选 --tag 限定标签 trace,--dry-run 预览映射。验证用 ax spans export DEST_PROJECT --space SPACE -l 50 --days 7 --stdout。提示词需选择仅生产/最新版本或全部版本,映射文本提示为单条 AX message、聊天提示为 role/content 数组,推断 F_STRING 或 MUSTACHE。
限制:需 Python 3.10+;必须提供 Langfuse 密钥并匹配 LANGFUSE_BASE_URL 区域(EU/US),Arize 用 ax profiles 或环境变量;不得读取 .env 或搜索凭据。旧评分不导入为 AX 实验真值,评估器/实验需重建或重跑;实时流量切换需另行指向 AX。导出 I/O 视为不可信原始数据。