ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Arize Dataset 技能实战:用 ax CLI 构建可版本化的 LLM 评估数据集(awesome-copilot)

Arize Dataset 技能实战:用 ax CLI 构建可版本化的 LLM 评估数据集(awesome-copilot) Arize Dataset 技能实战用 ax CLI 构建可版本化的 LLM 评估数据集awesome-copilot【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot本指南围绕开源仓库 awesome-copilot 中的 arize-dataset 技能 展开。该技能是 arize-ax 插件 的 9 大技能之一专门面向评估数据集的创建、管理与查询。读完本文你将掌握用ax datasets系列命令完成数据集 CRUD、批量导出、文件化创建、追加示例、版本快照管理等一整套实操能力并能把数据集与实验experiment、提示词优化prompt optimization串联成完整的 LLM 评估闭环。认识 Arize Dataset评估数据集的四个核心概念arize-dataset 技能围绕四个核心概念展开它们是理解后续所有命令的基石概念含义Dataset数据集用于评估与实验的、带版本管理的示例集合Dataset Version数据集版本数据集在某一时间点的快照更新可以是就地修改也可以创建新版本Example示例数据集中的单条记录字段由用户任意定义如question、answer、contextSpace空间组织级容器数据集归属于某个空间需要特别注意的是系统托管字段示例上的id、created_at、updated_at由服务端自动生成创建或追加create/append时绝不能包含这些字段而更新update时id又是必填的。这一点在 Dataset Example Schema 一节会再次强调。另一个贯穿全文的通用约定是SPACE占位符所有--space标志以及ARIZE_SPACE环境变量都既接受空间名称如my-workspace也接受 base64 编码的空间ID如U3BhY2U6...。可以通过ax spaces list查看自己有哪些空间可选。前置准备ax CLI 安装与认证配置技能文档的 Prerequisites 明确要求直接执行任务所需的ax命令不要预先检查版本、环境变量或 profile。只有当命令报错时才按错误类型逐步排查。安装 ax CLIax: command not found时参考 skills/arize-dataset/references/ax-setup.mdmacOS/Linux# 1. 检查常见安装位置 ls ~/.local/bin/ax ~/Library/Python/*/bin/ax # 2. 安装按优先级 uv tool install arize-ax-cli # 推荐 pipx install arize-ax-cli pip install arize-ax-cli # 3. 如需要加入 PATH export PATH$HOME/.local/bin:$PATHWindowsPowerShell# 1. 检查安装位置 Get-Command ax # 或 where.exe ax # 常见位置%APPDATA%\Python\Scripts\ax.exe、%LOCALAPPDATA%\Programs\Python\Python*\Scripts\ax.exe # 2. 安装 pip install arize-ax-cli # 3. 加入 PATH $env:PATH $env:APPDATA\Python\Scripts;$env:PATH版本要求ax --version必须不低于0.14.0很多错误都源于版本过旧。升级命令uv tool install --force --reinstall arize-ax-cli # 或 pipx upgrade arize-ax-cli # 或 pip install --upgrade arize-ax-cli配置 profile401 / 缺 key / 缺 profile 时参考 skills/arize-dataset/references/ax-profiles.md。排查路径如下查看当前状态ax profiles show根据输出判断问题类型——API Key: (not set)表示需要配置 keyNo profiles found表示还没有 profile连接成功但 401 说明 key 错误或过期连接到了错误端点则需要改 region。修复配置错误的 profile只 patch 有问题的字段# 修正 API key必须通过 $ARIZE_API_KEY 环境变量引用绝不内联明文 ax profiles update --api-key $ARIZE_API_KEY # 修正 region不含机密可直接执行 ax profiles update --region us-east-1b # 同时修正两者 ax profiles update --api-key $ARIZE_API_KEY --region us-east-1b创建新 profile# 需要先在当前 shell 导出 ARIZE_API_KEY ax profiles create --api-key $ARIZE_API_KEY ax profiles create --api-key $ARIZE_API_KEY --region us-east-1b # 命名 profile ax profiles create work --api-key $ARIZE_API_KEY --region us-east-1b之后所有ax命令可用-p NAME指定 profile如ax spans export PROJECT -p work。安全红线绝不要求用户把 API key 粘贴到聊天里绝不记录/回显 key 值。应让用户在自己的终端里执行export ARIZE_API_KEY...然后通过$ARIZE_API_KEY引用。用户的 key 在 https://app.arize.com/admin API Keys 获取建议创建空间级 service key服务密钥不绑定个人账号更安全且按空间隔离——务必为正确的空间复制 key。持久化 SpaceSpace 没有 profile 标志通过环境变量保存同样接受名称或 base64 ID用ax spaces list -o json查看# macOS/Linux加入 ~/.zshrc 或 ~/.bashrc export ARIZE_SPACEmy-workspace # 名称或 base64 ID# Windows PowerShell持久化为用户级变量 [System.Environment]::SetEnvironmentVariable(ARIZE_SPACE, my-workspace, User)数据集的查询与元数据ax datasets list/get浏览数据集ax datasets list输出到 stdoutax datasets list ax datasets list --space SPACE --limit 20 ax datasets list --cursor CURSOR_TOKEN ax datasets list -o jsonFlag类型默认值说明--spacestring来自 profile按空间过滤--limit, -lint15最大结果数1–100--cursorstring无上次响应的分页游标-o, --outputstringtable输出格式table、json、csv、parquet 或文件路径-p, --profilestringdefault配置 profile获取数据集元数据ax datasets get快速元数据查询返回数据集名称、空间、时间戳和版本列表ax datasets get NAME_OR_ID ax datasets get NAME_OR_ID -o json ax datasets get NAME_OR_ID --space SPACE # 用名称而非 ID 时必须指定Flag类型默认值说明NAME_OR_IDstring必填数据集名称或 ID位置参数--spacestring无空间名称或 ID用名称而非 ID 时必填-o, --outputstringtable输出格式-p, --profilestringdefault配置 profile响应字段字段类型说明idstring数据集 IDnamestring数据集名称space_idstring所属空间 IDcreated_atdatetime创建时间updated_atdatetime最后修改时间versionsarray数据集版本列表id、name、dataset_id、created_at、updated_at导出数据集ax datasets export将所有示例下载到文件。超过 500 个示例的数据集必须加--all不限量批量导出ax datasets export NAME_OR_ID # - dataset_abc123_20260305_141500/examples.json ax datasets export NAME_OR_ID --all ax datasets export NAME_OR_ID --version-id VERSION_ID ax datasets export NAME_OR_ID --output-dir ./data ax datasets export NAME_OR_ID --stdout ax datasets export NAME_OR_ID --stdout | jq .[0] ax datasets export NAME_OR_ID --space SPACE # 用名称而非 ID 时必须指定Flag类型默认值说明NAME_OR_IDstring必填数据集名称或 ID位置参数--spacestring无空间名称或 ID用名称而非 ID 时必填--version-idstringlatest导出特定数据集版本--allboolfalse不限量批量导出500 示例时使用--output-dirstring.输出目录--stdoutboolfalse输出 JSON 到 stdout 而非文件-p, --profilestringdefault配置 profileAgent 自动升级规则如果导出恰好返回 500 条示例结果很可能被截断——应使用--all重新导出以获取完整数据集。导出完整性校验导出后应核对行数与服务端报告数一致# 从数据集元数据获取服务端报告的数量 ax datasets get DATASET_NAME --space SPACE -o json | jq .versions[-1] | {version: .id, examples: .example_count} # 与导出的行数比较 jq length dataset_*/examples.json # 若数量不一致用 --all 重新导出导出结果是 JSON 数组每个示例对象包含系统字段id、created_at、updated_at加上所有用户自定义字段[ { id: ex_001, created_at: 2026-01-15T10:00:00Z, updated_at: 2026-01-15T10:00:00Z, question: What is 22?, answer: 4, topic: math } ]创建数据集ax datasets create从数据文件创建新数据集ax datasets create --name My Dataset --space SPACE --file data.csv ax datasets create --name My Dataset --space SPACE --file data.json ax datasets create --name My Dataset --space SPACE --file data.jsonl ax datasets create --name My Dataset --space SPACE --file data.parquetFlag类型必填说明--name, -nstring是数据集名称--spacestring是创建数据集的目标空间--file, -fpath是数据文件CSV、JSON、JSONL 或 Parquet-o, --outputstring否返回数据集元数据的输出格式-p, --profilestring否配置 profile通过 stdin 传数据用--file -直接管道输入无需临时文件echo [{question: What is 22?, answer: 4}] | ax datasets create --name my-dataset --space SPACE --file - # 或用 heredoc ax datasets create --name my-dataset --space SPACE --file - EOF [{question: What is 22?, answer: 4}] EOF注意要向已有数据集追加行应使用ax datasets append --json [...]无需文件。支持的文件格式格式扩展名说明CSV.csv列头成为字段名JSON.json对象数组JSON Lines.jsonl每行一个对象不是JSON 数组Parquet.parquet列名成为字段名保留类型格式陷阱CSV丢失类型信息——日期变成字符串、null变成空字符串。要保留类型请用 JSON/Parquet。JSONL每行是独立 JSON 对象。若.jsonl文件里放 JSON 数组[{...}, {...}]会失败——请改用.json扩展名。Parquet保留列类型但本地读取需要pandas/pyarrowpd.read_parquet(examples.parquet)。追加示例ax datasets append向已有数据集添加示例支持两种输入模式。内联 JSONAgent 友好直接生成负载无需临时文件ax datasets append DATASET_NAME --space SPACE --json [{question: What is 22?, answer: 4}] ax datasets append DATASET_NAME --space SPACE --json [ {question: What is gravity?, answer: A fundamental force...}, {question: What is light?, answer: Electromagnetic radiation...} ]从文件ax datasets append DATASET_NAME --space SPACE --file new_examples.csv ax datasets append DATASET_NAME --space SPACE --file additions.json追加到特定版本ax datasets append DATASET_NAME --space SPACE --json [{q: ...}] --version-id VERSION_IDFlag类型必填说明NAME_OR_IDstring是数据集名称或 ID位置参数用名称时加--space--spacestring否空间名称或 ID用名称而非 ID 时必填--jsonstring互斥JSON 数组形式的示例对象--file, -fpath互斥数据文件CSV、JSON、JSONL、Parquet--version-idstring否追加到指定版本默认latest-o, --outputstring否返回数据集元数据的输出格式-p, --profilestring否配置 profile--json与--file二选一且必须提供其一。校验规则每个示例必须是至少含一个用户自定义字段的 JSON 对象单次请求最多 100,000 条示例追加前的 Schema 校验若数据集已有示例先检查其 schema避免静默字段错配# 查看数据集已有字段名 ax datasets export DATASET_NAME --space SPACE --stdout | jq .[0] | keys # 校验新数据的字段名一致 echo [{question: ...}] | jq .[0] | keys # 两个输出应显示相同的用户自定义字段字段是自由形式的新示例中的多余字段会被添加缺失字段变为null。但字段名拼写错误如queston写成question会静默创建新列——追加前务必核对拼写。删除数据集ax datasets deleteax datasets delete NAME_OR_ID ax datasets delete NAME_OR_ID --space SPACE # 用名称而非 ID 时必须指定 ax datasets delete NAME_OR_ID --force # 跳过确认提示Flag类型默认值说明NAME_OR_IDstring必填数据集名称或 ID位置参数--spacestring无空间名称或 ID用名称而非 ID 时必填--force, -fboolfalse跳过确认提示-p, --profilestringdefault配置 profile实战工作流按名称查找数据集所有数据集命令都直接接受名称或 ID。传名称作为位置参数即可非 ID 时加--space SPACE# 直接用名称 ax datasets get eval-set-v1 --space SPACE ax datasets export eval-set-v1 --space SPACE # 或者通过 list 把名称解析为 base64 ID ax datasets list -o json | jq .[] | select(.name eval-set-v1) | .id为评估创建数据集准备含评估列的 CSV/JSON/Parquet 文件如input、expected_output若想内联生成数据用--file -通过 stdin 管道见创建一节ax datasets create --name eval-set-v1 --space SPACE --file eval_data.csv验证ax datasets get DATASET_NAME --space SPACE用数据集名称运行实验向已有数据集追加示例# 找到数据集 ax datasets list --space SPACE # 用名称内联或从文件追加完整语法见追加示例一节 ax datasets append DATASET_NAME --space SPACE --json [{question: ..., answer: ...}] ax datasets append DATASET_NAME --space SPACE --file additional_examples.csv下载数据集用于离线分析ax datasets list --space SPACE—— 找到数据集名称ax datasets export DATASET_NAME --space SPACE—— 下载到文件解析 JSONjq .[] | .question dataset_*/examples.json导出特定版本# 列出版本 ax datasets get DATASET_NAME --space SPACE -o json | jq .versions # 导出该版本 ax datasets export DATASET_NAME --space SPACE --version-id VERSION_ID迭代数据集导出当前版本ax datasets export DATASET_NAME --space SPACE本地修改示例追加新行ax datasets append DATASET_NAME --space SPACE --file new_rows.csv或创建全新版本ax datasets create --name eval-set-v2 --space SPACE --file updated_data.json把导出管道到其他工具# 统计示例数 ax datasets export DATASET_NAME --space SPACE --stdout | jq length # 提取单个字段 ax datasets export DATASET_NAME --space SPACE --stdout | jq .[].question # 用 jq 转 CSV ax datasets export DATASET_NAME --space SPACE --stdout | jq -r .[] | [.question, .answer] | csvDataset Example Schema示例是自由形式的 JSON 对象没有固定 schema——列就是用户提供的任何字段。系统托管字段由服务端添加字段类型托管方说明idstring服务端自动生成的 UUID。更新时必填创建/追加时禁止created_atdatetime服务端不可变的创建时间戳updated_atdatetime服务端修改时自动更新(任意用户字段)任意 JSON 类型用户字符串、数字、布尔、null、嵌套对象、数组这条系统字段白名单正是故障排查中platform-managed column与reserved column两类报错的根因create/append 负载里混入了id/created_at/updated_at或使用了time、count、任何source_record_*前缀字段都会导致请求被拒。与相关技能的联动arize-dataset 不是孤立的它在 Arize AX 评估闭环中处于数据供给环节与同属 arize-ax 插件 的其他技能协作见 插件 README安装方式为copilot plugin install arize-axawesome-copilot上游/下游技能协作方式上游数据来源arize-trace导出生产 span理解该把什么数据放进数据集直接下游arize-experiment以数据集为基准运行实验导出示例 → 调用真实模型 API 生成 runs →ax experiments create比较两个实验的平均分、标签分布、回归用例进一步优化arize-prompt-optimization用ax datasets exportax experiments export的结果按example_idjoin 出输入-输出-评估记录喂给优化元提示词迭代 prompt典型链路是arize-trace采集生产数据 →arize-dataset沉淀为版本化评估集 →arize-experiment跑分对比 →arize-prompt-optimization依据失败样本改进 prompt然后回到实验循环。故障排查速查表问题解决方案ax: command not found见 skills/arize-dataset/references/ax-setup.md401 UnauthorizedAPI key 错误、过期或对该空间无权限。按 skills/arize-dataset/references/ax-profiles.md 修复 profileNo profile found尚未配置 profile按 skills/arize-dataset/references/ax-profiles.md 创建Dataset not found用ax datasets list核实数据集 IDFile format error仅支持 CSV、JSON、JSONL、Parquet也可用--file -从 stdin 读取platform-managed column从 create/append 负载中移除id、created_at、updated_atreserved column移除time、count或任何source_record_*字段Provide either --json or --fileappend 必须且只能提供一个输入源Examples array is empty确保 JSON 数组或文件至少包含一个示例not a JSON object--json数组的每个元素必须是{...}对象不能是字符串或数字会话结束时的凭证保存根据 skills/arize-dataset/references/ax-profiles.md 的指引若本次会话中用户手动提供了凭证、且这些值此前并非来自已保存的 profile 或环境变量会话结束时可以询问用户是否保存ax profiles create --api-key $ARIZE_API_KEY或ax profiles update --api-key $ARIZE_API_KEYSpace 则持久化为环境变量。若 key 已来自现有 profile 或ARIZE_API_KEY、space 已通过ARIZE_SPACE设置、或用户只用了 base64 的项目 ID则跳过此步骤。至此你已经掌握了从安装 ax CLI、配置 Arize 认证到数据集创建、追加、导出、删除、版本管理与离线分析的完整链路。这套命令既适合人工逐条执行也特别适合 Agent 在评估工作流中直接调用——这也是 arize-dataset 技能在 awesome-copilot 中定位为LLM 评估数据供给层的原因所在。【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表