SuperAPI AI 工具集

arize-phoenix-migration

数据与分析

查看项目

更新于 10-15 09:38

技能介绍

用途

该技能帮助用户将已有的 Phoenix(PX)项目迁移到 Arize AX,涵盖 traces、datasets、experiments 以及已存储的评估结果,并对导入的记录进行验证。它使用捆绑的辅助工具完成迁移,用户只需提供源和目标的相关信息。

主要能力

  • 盘点 Phoenix 中受支持的数据并统计数量(traces、datasets、experiments、已存储的评估)。
  • 以只读方式探查 AX 目标,解析组织与空间名称,检查项目名与数据集名是否冲突。
  • 迁移 traces,保留原始 span/trace ID、父子关系、历史时间戳、span 类型、输入/输出、会话、token 计数和属性。
  • 迁移 datasets 与实验评估:把每个 Phoenix 数据集修订保存为 AX 数据集版本,将嵌套的示例输入/输出/元数据保存为规范的 JSON,映射源示例 ID 到 AX 分配的 ID,导入历史实验任务输出以及已存储的评估分数、标签、解释和来源元数据;不重新运行评估器,也不调用 LLM。
  • 迁移后进行验证,只有相应验证命令返回 verified 时才报告迁移完成。

使用方式

运行该技能需要 Python 3.10 或更高版本、shell 访问权限,以及能访问 Phoenix 和 AX 的网络环境;不要求特定的编码智能体、ax CLI 或 AX Phoenix 连接器。

流程大致为:

  1. 盘点 Phoenix 并统计受支持的数据。
  2. 展示建议的 AX 组织、空间和全新目标名称。
  3. 让用户选择全部或部分数据,并接受或重命名 AX 项目。
  4. 迁移并验证所选记录。
  5. 返回指向新 AX 项目、数据集和实验的直接链接。

缺失的连接信息(如 Phoenix URL、项目名、API key)需要用户提供:对于密钥,技能会生成本地仅所有者可读的凭据录入辅助命令,用户在单独终端中运行,密钥不回显;不应把密钥粘贴到聊天或智能体控制的交互会话中。用户也可以提供已有本地 .env 文件路径。

迁移时使用捆绑命令(绝对路径运行),例如 scripts/migrate.py 用于 traces 的导入和验证,scripts/migrate_data.py 用于 datasets 和实验评估的导入和验证,可通过 --prefix 避免目标名称冲突、--env-file 指定本地文件、--project 设置目标项目。

适用场景

适用于需要把已有 Phoenix 项目中的 traces、数据集、实验和已存储评估结果迁移到 Arize AX 并验证导入结果的场景。

限制

  • 以下内容暂不迁移,因为适用的 AX 创建 API 无法表示它们:evaluator 定义、prompts、标签、附件、span/trace/session 注解、Phoenix 数据集/版本描述,以及 AX 创建 API 无法表示的数据集/版本/实验元数据。
  • AX 实验创建不接受 dataset-version ID,因此链接到非导入最新版本的其他 Phoenix 修订的实验会在写入目标前停止,而不会被附加到错误的修订上。
  • 辅助工具不保证服务端摄取幂等性;不确定的提交应通过读回进行核对,而不是盲目重试。
  • 不要为了在近期时间过滤器中显示 trace 而更改历史时间戳;不要把成功上传标记为已验证迁移。
  • 典型的小型或中型迁移大约需要 5–20 分钟,大型导出或 AX trace 索引可能更久;上传可能需要几分钟,AX 索引和验证可能需要 15 分钟或更长,不承诺固定完成时间。