其他
需要为 Arize UI 中的项目、trace、span…
当用户想要在 Arize UI 中打开或分享项目、trace、span、session、dataset、labeling queue、evaluator、annotation config 的链接时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
需要为 Arize UI 中的项目、tr特定
解决思路
- 从用户、上下文(导出的 trace 数据或解析的 URL)或 `ax` CLI 收集所需输入。
- 始终收集 `org_id`(base64)和 `space_id`(base64)。
- 根据资源类型收集资源特定输入:trace/span 需要 `project_id` + `trace_id` [+ `span_id`];session 需要 `project_id` + `session_id`;dataset 需要 `dataset_id`;特定队列需要 `queue_id`(列表可省略);evaluator 需要 `evaluator_id` [+ `version`]。
- 优先用 CLI 发现 organization 和 project ID,而不是先问用户。
- 运行 `ax organizations list --output json`,使用 `.organizations[].id` 作为组织 ID。
- 如果返回多个组织,匹配用户提供的组织名称或让用户选择。
- 运行 `ax projects list --space "{space_name_or_id}" --limit 100 --output json` 发现项目 ID,使用匹配项目的 `id`;其 `space_id` 提供 URL 所需的 space ID。
- `ax projects list` 命令接受 space 名称或 ID;如果不知道 space,运行 `ax projects list --limit 100 --output json` 并选择匹配项目。
- 确保所有路径 ID 都经过 base64 编码(字符:`A-Za-z0-9+/=`);原始数字 ID 会生成看似有效但 404 的 URL。
- 如果用户提供数字 ID,要求他们直接从 Arize 浏览器 URL(`https://app.arize.com/organizations/{org_id}/spaces/{space_id}/…`)复制 ID。
- 如果拿到原始内部 ID(例如 `Organization:1:abC1`),在插入 URL 前先 base64 编码。
- 使用基础 URL `https://app.arize.com`(on-prem 可覆盖)。
- Project 链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}`。
- Trace 链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}?selectedTraceId={trace_id}&queryFilterA=&selectedTab=llmTracing&timeZoneA=America%2FLos_Angeles&startA={start_ms}&endA={end_ms}&envA=tracing&modelType=generative_llm`;要高亮特定 span,添加 `&selectedSpanId={span_id}`。
- Session 链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/projects/{project_id}?selectedSessionId={session_id}&queryFilterA=&selectedTab=llmTracing&timeZoneA=America%2FLos_Angeles&startA={start_ms}&endA={end_ms}&envA=tracing&modelType=generative_llm`。
- Dataset 链接模板(`selectedTab`:`examples` 或 `experiments`):`{base_url}/organizations/{org_id}/spaces/{space_id}/datasets/{dataset_id}?selectedTab=examples`。
- 队列列表链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/queues`。
- 特定队列链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/queues/{queue_id}`。
- Evaluator 链接模板(省略 `?version=…` 表示最新版):`{base_url}/organizations/{org_id}/spaces/{space_id}/evaluators/{evaluator_id}`。
- Evaluator 指定版本链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/evaluators/{evaluator_id}?version={version_url_encoded}`;`version` 值必须 URL 编码(例如尾部 `=` → `%3D`)。
- Annotation configs 链接模板:`{base_url}/organizations/{org_id}/spaces/{space_id}/annotation-configs`。
- 对 trace/span/session 链接,`startA` 和 `endA`(epoch 毫秒)是必需的;省略会默认最近 7 天,如果 trace 在该窗口外会显示 no recent data。
- 确定 `startA`/`endA` 的第一优先级:用户提供的 URL——直接提取并重用 `startA`/`endA`。
- 确定 `startA`/`endA` 的第二优先级:span `start_time`——填充 ±1 天(或 ±1 小时以获得更紧窗口)。
- 确定 `startA`/`endA` 的回退:最近 90 天(`now - 90d` 到 `now`)。
- 优先使用紧窗口;90 天窗口加载慢。
- 按步骤操作:从用户、导出数据、URL 上下文或 CLI 收集 IDs;用 `ax organizations list --output json` 获取 `org_id`;需要时用 `ax projects list` 获取 `project_id`。
- 验证所有路径 ID 是 base64 编码。
- 对 trace、span、session 链接,按上述优先级确定 `startA`/`endA`。
- 替换到适当模板并呈现为可点击的 markdown 链接。
- 排障:若出现 No data 或空视图,说明 trace 在时间窗口外——扩大 `startA`/`endA`(±1h → ±1d → 90d)。
- 排障:若 404,ID 错误或未 base64——用 `ax organizations list --output json` 重新检查 `org_id`,用 `ax projects list` 检查 `project_id`,并从浏览器 URL 检查 `space_id`。
- 排障:若 span 未高亮,`span_id` 可能属于不同 trace——根据导出的 span 数据验证。
- 排障:若 `org_id` 未知,运行 `ax organizations list --output json` 并使用 `.organizations[].id`;若 CLI 无法访问组织,要求用户从 Arize 浏览器 URL 复制。
- 如需获取 `trace_id`、`span_id` 和 `start_time`,可结合 `arize-trace` 技能导出 spans。
适用边界 · 注意事项
- 没有 Arize 账号、无法访问 Arize UI 或 `ax` CLI 时,无法可靠发现 ID 或验证链接。
- 目标是其他平台或非 Arize UI 资源时,不适用这些 URL 模板和 ID 语义。
- 只有原始数字/内部 ID 且无法从 Arize 浏览器 URL 取得 base64 ID 时,生成的链接可能 404。