arize-dataset

安装量: 827
排名: #4784

安装

npx skills add https://github.com/github/awesome-copilot --skill arize-dataset

Arize Dataset Skill Concepts Dataset = a versioned collection of examples used for evaluation and experimentation Dataset Version = a snapshot of a dataset at a point in time; updates can be in-place or create a new version Example = a single record in a dataset with arbitrary user-defined fields (e.g., question , answer , context ) Space = an organizational container; datasets belong to a space System-managed fields on examples ( id , created_at , updated_at ) are auto-generated by the server -- never include them in create or append payloads. Prerequisites Proceed directly with the task — run the ax command you need. Do NOT check versions, env vars, or profiles upfront. If an ax command fails, troubleshoot based on the error: command not found or version error → see references/ax-setup.md 401 Unauthorized / missing API key → run ax profiles show to inspect the current profile. If the profile is missing or the API key is wrong: check .env for ARIZE_API_KEY and use it to create/update the profile via references/ax-profiles.md. If .env has no key either, ask the user for their Arize API key ( https://app.arize.com/admin

API Keys) Space ID unknown → check .env for ARIZE_SPACE_ID , or run ax spaces list -o json , or ask the user Project unclear → check .env for ARIZE_DEFAULT_PROJECT , or ask, or run ax projects list -o json --limit 100 and present as selectable options List Datasets: ax datasets list Browse datasets in a space. Output goes to stdout. ax datasets list ax datasets list --space-id SPACE_ID --limit 20 ax datasets list --cursor CURSOR_TOKEN ax datasets list -o json Flags Flag Type Default Description --space-id string from profile Filter by space --limit, -l int 15 Max results (1-100) --cursor string none Pagination cursor from previous response -o, --output string table Output format: table, json, csv, parquet, or file path -p, --profile string default Configuration profile Get Dataset: ax datasets get Quick metadata lookup -- returns dataset name, space, timestamps, and version list. ax datasets get DATASET_ID ax datasets get DATASET_ID -o json Flags Flag Type Default Description DATASET_ID string required Positional argument -o, --output string table Output format -p, --profile string default Configuration profile Response fields Field Type Description id string Dataset ID name string Dataset name space_id string Space this dataset belongs to created_at datetime When the dataset was created updated_at datetime Last modification time versions array List of dataset versions (id, name, dataset_id, created_at, updated_at) Export Dataset: ax datasets export Download all examples to a file. Use --all for datasets larger than 500 examples (unlimited bulk export). ax datasets export DATASET_ID

-> dataset_abc123_20260305_141500/examples.json

ax datasets export DATASET_ID --all ax datasets export DATASET_ID --version-id VERSION_ID ax datasets export DATASET_ID --output-dir ./data ax datasets export DATASET_ID --stdout ax datasets export DATASET_ID --stdout | jq '.[0]' Flags Flag Type Default Description DATASET_ID string required Positional argument --version-id string latest Export a specific dataset version --all bool false Unlimited bulk export (use for datasets > 500 examples) --output-dir string . Output directory --stdout bool false Print JSON to stdout instead of file -p, --profile string default Configuration profile Agent auto-escalation rule: If an export returns exactly 500 examples, the result is likely truncated — re-run with --all to get the full dataset. Export completeness verification: After exporting, confirm the row count matches what the server reports:

Get the server-reported count from dataset metadata

ax datasets get DATASET_ID -o json | jq '.versions[-1] | {version: .id, examples: .example_count}'

Compare to what was exported

jq 'length' dataset_*/examples.json

If counts differ, re-export with --all

Output is a JSON array of example objects. Each example has system fields ( id , created_at , updated_at ) plus all user-defined fields: [ { "id" : "ex_001" , "created_at" : "2026-01-15T10:00:00Z" , "updated_at" : "2026-01-15T10:00:00Z" , "question" : "What is 2+2?" , "answer" : "4" , "topic" : "math" } ] Create Dataset: ax datasets create Create a new dataset from a data file. ax datasets create --name "My Dataset" --space-id SPACE_ID --file data.csv ax datasets create --name "My Dataset" --space-id SPACE_ID --file data.json ax datasets create --name "My Dataset" --space-id SPACE_ID --file data.jsonl ax datasets create --name "My Dataset" --space-id SPACE_ID --file data.parquet Flags Flag Type Required Description --name, -n string yes Dataset name --space-id string yes Space to create the dataset in --file, -f path yes Data file: CSV, JSON, JSONL, or Parquet -o, --output string no Output format for the returned dataset metadata -p, --profile string no Configuration profile Passing data via stdin Use --file - to pipe data directly — no temp file needed: echo '[{"question": "What is 2+2?", "answer": "4"}]' | ax datasets create --name "my-dataset" --space-id SPACE_ID --file -

Or with a heredoc

ax datasets create
--name
"my-dataset"
--space-id SPACE_ID
--file
-
<<
'EOF'
[{"question": "What is 2+2?", "answer": "4"}]
EOF
To add rows to an existing dataset, use
ax datasets append --json '[...]'
instead — no file needed.
Supported file formats
Format
Extension
Notes
CSV
.csv
Column headers become field names
JSON
.json
Array of objects
JSON Lines
.jsonl
One object per line (NOT a JSON array)
Parquet
.parquet
Column names become field names; preserves types
Format gotchas:
CSV
Loses type information — dates become strings,
null
becomes empty string. Use JSON/Parquet to preserve types.
JSONL
Each line is a separate JSON object. A JSON array (
[{...}, {...}]
) in a
.jsonl
file will fail — use
.json
extension instead.
Parquet
Preserves column types. Requires pandas / pyarrow to read locally: pd.read_parquet("examples.parquet") . Append Examples: ax datasets append Add examples to an existing dataset. Two input modes -- use whichever fits. Inline JSON (agent-friendly) Generate the payload directly -- no temp files needed: ax datasets append DATASET_ID --json '[{"question": "What is 2+2?", "answer": "4"}]' ax datasets append DATASET_ID --json '[ {"question": "What is gravity?", "answer": "A fundamental force..."}, {"question": "What is light?", "answer": "Electromagnetic radiation..."} ]' From a file ax datasets append DATASET_ID --file new_examples.csv ax datasets append DATASET_ID --file additions.json To a specific version ax datasets append DATASET_ID --json '[{"q": "..."}]' --version-id VERSION_ID Flags Flag Type Required Description DATASET_ID string yes Positional argument --json string mutex JSON array of example objects --file, -f path mutex Data file (CSV, JSON, JSONL, Parquet) --version-id string no Append to a specific version (default: latest) -o, --output string no Output format for the returned dataset metadata -p, --profile string no Configuration profile Exactly one of --json or --file is required. Validation Each example must be a JSON object with at least one user-defined field Maximum 100,000 examples per request Schema validation before append: If the dataset already has examples, inspect its schema before appending to avoid silent field mismatches:

Check existing field names in the dataset

ax datasets export DATASET_ID --stdout | jq '.[0] | keys'

Verify your new data has matching field names

echo '[{"question": "..."}]' | jq '.[0] | keys'

Both outputs should show the same user-defined fields

Fields are free-form: extra fields in new examples are added, and missing fields become null. However, typos in field names (e.g., queston vs question ) create new columns silently -- verify spelling before appending. Delete Dataset: ax datasets delete ax datasets delete DATASET_ID ax datasets delete DATASET_ID --force

skip confirmation prompt

Flags Flag Type Default Description DATASET_ID string required Positional argument --force, -f bool false Skip confirmation prompt -p, --profile string default Configuration profile Workflows Find a dataset by name Users often refer to datasets by name rather than ID. Resolve a name to an ID before running other commands:

Find dataset ID by name

ax datasets list -o json | jq '.[] | select(.name == "eval-set-v1") | .id'

If the list is paginated, fetch more

ax datasets list -o json --limit 100 | jq '.[] | select(.name | test("eval-set")) | {id, name}' Create a dataset from file for evaluation Prepare a CSV/JSON/Parquet file with your evaluation columns (e.g., input , expected_output ) If generating data inline, pipe it via stdin using --file - (see the Create Dataset section) ax datasets create --name "eval-set-v1" --space-id SPACE_ID --file eval_data.csv Verify: ax datasets get DATASET_ID Use the dataset ID to run experiments Add examples to an existing dataset

Find the dataset

ax datasets list

Append inline or from a file (see Append Examples section for full syntax)

ax datasets append DATASET_ID --json '[{"question": "...", "answer": "..."}]' ax datasets append DATASET_ID --file additional_examples.csv Download dataset for offline analysis ax datasets list -- find the dataset ax datasets export DATASET_ID -- download to file Parse the JSON: jq '.[] | .question' dataset_*/examples.json Export a specific version

List versions

ax datasets get DATASET_ID -o json | jq '.versions'

Export that version

ax datasets export DATASET_ID --version-id VERSION_ID Iterate on a dataset Export current version: ax datasets export DATASET_ID Modify the examples locally Append new rows: ax datasets append DATASET_ID --file new_rows.csv Or create a fresh version: ax datasets create --name "eval-set-v2" --space-id SPACE_ID --file updated_data.json Pipe export to other tools

Count examples

ax datasets export DATASET_ID --stdout | jq 'length'

Extract a single field

ax datasets export DATASET_ID --stdout | jq '.[].question'

Convert to CSV with jq

ax datasets export DATASET_ID --stdout | jq -r '.[] | [.question, .answer] | @csv' Dataset Example Schema Examples are free-form JSON objects. There is no fixed schema -- columns are whatever fields you provide. System-managed fields are added by the server: Field Type Managed by Notes id string server Auto-generated UUID. Required on update, forbidden on create/append created_at datetime server Immutable creation timestamp updated_at datetime server Auto-updated on modification (any user field) any JSON type user String, number, boolean, null, nested object, array

返回排行榜