Create, run, export, compare, delete, and troubleshoot Arize experiments with the ax CLI, including real model inference, run files, evaluations, result analysis, and dataset-linked experiment workflows. Use this skill when the user asks to create experiment, run experiment, compare models, evaluate AI, benchmark prompts, A/B test models, export experiment results, measure accuracy, or inspect experiment runs in Arize.
Create and analyze Arize experiments by exporting dataset examples, calling the real model API for every example, creating runs.json, loading it with ax experiments create, and comparing exported evaluations without fabricating outputs or scores.
When to invoke
"Create an Arize experiment for this dataset."
"Run this prompt against a dataset and upload results to Arize."
"Compare two model experiments."
"Export experiment runs and analyze correctness scores."
"Troubleshoot an ax experiments error."
Prerequisites and context
Proceed directly with the needed ax command. Do not check versions, environment variables, or profiles upfront. If a command fails, troubleshoot from the error.
Context
Rule
SPACE
All --space flags and ARIZE_SPACE accept a space name such as my-workspace or a base64 space ID such as U3BhY2U6...; find spaces with ax spaces list.
Credentials
Never read .env files or search the filesystem for credentials. Use ax profiles for Arize credentials and ax ai-integrations for LLM provider keys. If credentials are absent, ask the user.
API keys
For 401 Unauthorized, run ax profiles show; if missing or wrong, use references/ax-profiles.md. If the user needs a key, direct them to https://app.arize.com/admin > API Keys.
Setup failure
For command not found or version errors, use references/ax-setup.md.
Space unknown
Run ax spaces list and choose by name, or ask the user.
Project unclear
Ask the user, or run ax projects list -o json --limit 100 and present options.
Model calls
Must call the real model API specified by the user for every dataset example. Never fabricate, simulate, or hardcode model outputs, latencies, labels, scores, or explanations. Stop if SDKs, credentials, or network access are missing.
Core concepts
Term
Meaning
Experiment
A named evaluation run tied to a dataset and specific dataset version.
Experiment Run
One dataset example's result: model output, optional evaluations, and optional metadata.
Dataset
Versioned collection of examples; every experiment is tied to a dataset version.
Evaluation
Named metric such as correctness or relevance with optional label, score, and explanation.
Typical flow: export a dataset → process each example with a real model → collect outputs and evaluations → create an experiment with the runs.
Experiment commands
Task
Command
List experiments
ax experiments list
Filter by dataset
ax experiments list --dataset DATASET_NAME --space SPACE --limit 20
Paginate
ax experiments list --cursor CURSOR_TOKEN
JSON list
ax experiments list -o json
Get by ID
ax experiments get NAME_OR_ID -o json
Get by name
ax experiments get NAME_OR_ID --dataset DATASET_NAME --space SPACE
Export default REST
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE
Export all with Flight
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --all
Export to directory
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --output-dir ./results
Export to stdout
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout
Inspect first run
`ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout
Positional NAME_OR_ID; --dataset required when using experiment name instead of ID; --space required when using dataset name instead of ID; -o, --output; -p, --profile.
Evaluation fields are optional, but at least one of label, score, or explanation should be present per evaluation. Useful labels include correct, incorrect, and partial; scores are typically 0.0 to 1.0.
Procedure
Find and inspect the dataset:
ax datasets list --space SPACE
ax datasets export DATASET_NAME --space SPACE --stdout | jq 'length'
ax datasets export DATASET_NAME --space SPACE
Export examples and inspect the JSON to identify the input field, such as input, question, or prompt.
Write an inference script that reads examples from stdin, calls the requested provider for every example, records latency_ms, and emits a JSON array of runs to stdout.
Provider SDK environment variables commonly used by the script include OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, CUSTOM_BASE_URL, CUSTOM_API_KEY, and CUSTOM_MODEL. A custom OpenAI-compatible endpoint may use https://my-proxy.example.com/v1; use it for Azure OpenAI, NVIDIA NIM, local Ollama, or a test integration proxy. Use MODEL_NAME in metadata for the selected model.
ax experiments create --name "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE --file runs.json
ax experiments get "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE
Export and comparison analysis
REST export is lower friction, uses standard HTTPS, and returns up to 500 runs per page. Flight export with --all uses Arrow Flight over gRPC+TLS at flight.arize.com:443 and is required for experiments with more than 500 runs. If REST returns exactly 500 runs, treat it as likely truncated and re-run with --all.
Score comparisons are most reliable with at least 30 examples per evaluator. With fewer examples, treat deltas as directional; a 5% difference on n=10 may be noise. Always report sample size alongside scores.
Troubleshooting
Problem
Resolution
ax: command not found
Read references/ax-setup.md.
Version error
Read references/ax-setup.md.
401 Unauthorized
Inspect ax profiles show; fix profile with references/ax-profiles.md; direct the user to https://app.arize.com/admin > API Keys if they need a key.
No profile found
Create a profile with references/ax-profiles.md.
Space unknown
Run ax spaces list; choose by name where possible.
Project unclear
Ask the user or run ax projects list -o json --limit 100.
Experiment not found
Verify with ax experiments list --space SPACE and include --dataset DATASET_NAME when using a name.
Dataset not found
Check ax datasets list; the linked dataset may have been deleted.
Invalid runs file
Ensure each run has example_id and output.
example_id mismatch
Export the dataset and match run example_id values to dataset example IDs.
No runs found
Verify the experiment has runs with ax experiments get.
REST export exactly 500 runs
Re-run ax experiments export ... --all.
Missing model SDK or key
Stop and state the missing SDK, credential, or network access; do not fabricate outputs.
Progressive disclosure and bundled resources
references/ax-setup.md: install and version troubleshooting for ax.
references/ax-profiles.md: profile creation, update, inspection, and saved credentials.
Related primitives
Name
Type
Use it when
arize-dataset
skill
The dataset must be created or exported before the experiment can run.
arize-prompt-optimization
skill
Experiment results should drive prompt improvements.
arize-trace
skill
Failing experiment runs need span-level trace inspection.
arize-link
skill
The user needs clickable UI links to traces from experiment runs.
Technical index
Preserve these Arize command placeholders, API names, and schema terms when editing or reporting: CRUD, CRITICAL, MUST, CALL, REAL, MODEL, HERE, --stdout, --file -, Arrow/Flight, auto-escalation, host/port, create/update, custom, dataset/version, model/system, pass/fail/partial, evaluations, metadata, metric_name, run_001, experiment_abc123_20260305_141500, experiment_abc123_20260305_141500/runs.json, infer.py, user_input, output_text, base_url, api_key, max_tokens, anthropic, google-genai, generate_content, claude-sonnet-4-6, pip install openai, ax ai-integrations create, ax datasets export --stdout, ax experiments list --dataset DATASET_NAME --space SPACE, jq 'length' a.json, and references/ax-profiles.md.
Output template
## Arize experiment result
**Status:** created | exported | compared | deleted | blocked
**Space:** `<SPACE or ARIZE_SPACE>`
**Dataset:** `<DATASET_NAME>`
**Experiment(s):** `<EXPERIMENT_NAME or NAME_OR_ID>`
### Commands run
- `<ax command>`
### Run file
| Field | Value |
| --- | --- |
| Runs | `<count>` |
| Required fields | `example_id`, `output` |
| Evaluations | `<names or none>` |
| Metadata | `<keys or none>` |
### Results
| Metric | Experiment A | Experiment B | Delta | Sample size |
| --- | --- | --- | --- | --- |
| `correctness.score` | `<value>` | `<value>` | `<delta>` | `<n>` |
### Validation
- Real model API called for every example: <yes/no/evidence>
- Upload or export verified: <command and result>
- Truncation checked: <REST count or --all used>
Quality gate
SPACE, DATASET_NAME, and EXPERIMENT_NAME or NAME_OR_ID are resolved before create, get, export, compare, or delete.
No .env files or credential searches were used; ax profiles or ax ai-integrations handled credentials.
Every generated run has example_id and output; evaluations contain label, score, or explanation when present.
Real model APIs were called for every dataset example; no output, latency, label, score, or explanation was fabricated.
REST exports returning exactly 500 runs were re-run with --all.
Comparisons report sample size and treat fewer than 30 examples as directional.
The final response includes commands run, result location or experiment ID, and any blocked credential or SDK requirement.
1---2name: arize-experiment-23description: Create, run, export, compare, delete, and troubleshoot Arize experiments with the ax CLI, including real model inference, run files, evaluations, result analysis, and dataset-linked experiment workflows. Use this skill when the user asks to create experiment, run experiment, compare models, evaluate AI, benchmark prompts, A/B test models, export experiment results, measure accuracy, or inspect experiment runs in Arize.4---56# Arize experiment78Create and analyze Arize experiments by exporting dataset examples, calling the real model API for every example, creating `runs.json`, loading it with `ax experiments create`, and comparing exported evaluations without fabricating outputs or scores.910## When to invoke1112- "Create an Arize experiment for this dataset."13- "Run this prompt against a dataset and upload results to Arize."14- "Compare two model experiments."15- "Export experiment runs and analyze correctness scores."16- "Troubleshoot an ax experiments error."1718## Prerequisites and context1920Proceed directly with the needed `ax` command. Do not check versions, environment variables, or profiles upfront. If a command fails, troubleshoot from the error.2122| Context | Rule |23| --- | --- |24| `SPACE` | All `--space` flags and `ARIZE_SPACE` accept a space name such as `my-workspace` or a base64 space ID such as `U3BhY2U6...`; find spaces with `ax spaces list`. |25| Credentials | Never read `.env` files or search the filesystem for credentials. Use `ax profiles` for Arize credentials and `ax ai-integrations` for LLM provider keys. If credentials are absent, ask the user. |26| API keys | For `401 Unauthorized`, run `ax profiles show`; if missing or wrong, use `references/ax-profiles.md`. If the user needs a key, direct them to https://app.arize.com/admin > API Keys. |27| Setup failure | For `command not found` or version errors, use `references/ax-setup.md`. |28| Space unknown | Run `ax spaces list` and choose by name, or ask the user. |29| Project unclear | Ask the user, or run `ax projects list -o json --limit 100` and present options. |30| Model calls | Must call the real model API specified by the user for every dataset example. Never fabricate, simulate, or hardcode model outputs, latencies, labels, scores, or explanations. Stop if SDKs, credentials, or network access are missing. |3132## Core concepts3334| Term | Meaning |35| --- | --- |36| Experiment | A named evaluation run tied to a dataset and specific dataset version. |37| Experiment Run | One dataset example's result: model output, optional evaluations, and optional metadata. |38| Dataset | Versioned collection of examples; every experiment is tied to a dataset version. |39| Evaluation | Named metric such as `correctness` or `relevance` with optional `label`, `score`, and `explanation`. |4041Typical flow: export a dataset → process each example with a real model → collect outputs and evaluations → create an experiment with the runs.4243## Experiment commands4445| Task | Command |46| --- | --- |47| List experiments | `ax experiments list` |48| Filter by dataset | `ax experiments list --dataset DATASET_NAME --space SPACE --limit 20` |49| Paginate | `ax experiments list --cursor CURSOR_TOKEN` |50| JSON list | `ax experiments list -o json` |51| Get by ID | `ax experiments get NAME_OR_ID -o json` |52| Get by name | `ax experiments get NAME_OR_ID --dataset DATASET_NAME --space SPACE` |53| Export default REST | `ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE` |54| Export all with Flight | `ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --all` |55| Export to directory | `ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --output-dir ./results` |56| Export to stdout | `ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout` |57| Inspect first run | `ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout | jq '.[0]'` |58| Create from JSON | `ax experiments create --name "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE --file runs.json` |59| Create from CSV | `ax experiments create --name "claude-test" --dataset DATASET_NAME --space SPACE --file runs.csv` |60| Create from stdin | `echo '[{"example_id":"ex_001","output":"Paris"}]' | ax experiments create --name "my-experiment" --dataset DATASET_NAME --space SPACE --file -` |61| Delete | `ax experiments delete NAME_OR_ID` |62| Delete by name | `ax experiments delete NAME_OR_ID --dataset DATASET_NAME --space SPACE` |63| Force delete | `ax experiments delete NAME_OR_ID --force` |6465### Command flags and fields6667| Command | Important flags |68| --- | --- |69| `ax experiments list` | `--dataset`, `--limit, -l` default `15` max `100`, `--cursor`, `-o, --output` (`table`, `json`, `csv`, `parquet`, or file path), `-p, --profile` default `default`. |70| `ax experiments get` | Positional `NAME_OR_ID`; `--dataset` required when using experiment name instead of ID; `--space` required when using dataset name instead of ID; `-o, --output`; `-p, --profile`. |71| `ax experiments export` | Positional `NAME_OR_ID`; `--dataset`; `--space`; `--all`; `--output-dir` default `.`; `--stdout`; `-p, --profile`. |72| `ax experiments create` | `--name, -n`; `--dataset`; `--space, -s`; `--file, -f` as `CSV`, `JSON`, `JSONL`, or `Parquet`; `-o, --output`; `-p, --profile`. |73| `ax experiments delete` | Positional `NAME_OR_ID`; `--dataset`; `--space`; `--force, -f`; `-p, --profile`. |7475`ax experiments get` returns `id`, `name`, `dataset_id`, `dataset_version_id`, `experiment_traces_project_id`, `created_at`, and `updated_at`.7677## Run file schema7879Each run must correspond to one dataset example. Required columns are `example_id` and `output`; additional columns pass through as `additionalProperties`.8081```json82{83 "example_id": "ex_001",84 "output": "The answer is 4.",85 "evaluations": {86 "correctness": { "label": "correct", "score": 1.0 },87 "relevance": { "score": 0.95, "explanation": "Directly answers the question" }88 },89 "metadata": {90 "model": "gpt-4o",91 "temperature": 0.7,92 "latency_ms": 123493 }94}95```9697Evaluation fields are optional, but at least one of `label`, `score`, or `explanation` should be present per evaluation. Useful labels include `correct`, `incorrect`, and `partial`; scores are typically `0.0` to `1.0`.9899## Procedure1001011. Find and inspect the dataset:102103```bash104ax datasets list --space SPACE105ax datasets export DATASET_NAME --space SPACE --stdout | jq 'length'106ax datasets export DATASET_NAME --space SPACE107```1081092. Export examples and inspect the JSON to identify the input field, such as `input`, `question`, or `prompt`.1103. Write an inference script that reads examples from stdin, calls the requested provider for every example, records `latency_ms`, and emits a JSON array of runs to stdout.111112```bash113ax datasets export DATASET_NAME --space SPACE --stdout | python3 infer.py > runs.json114```115116Provider SDK environment variables commonly used by the script include `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`, `CUSTOM_BASE_URL`, `CUSTOM_API_KEY`, and `CUSTOM_MODEL`. A custom OpenAI-compatible endpoint may use `https://my-proxy.example.com/v1`; use it for Azure OpenAI, NVIDIA NIM, local Ollama, or a test integration proxy. Use `MODEL_NAME` in metadata for the selected model.1171184. Verify the run file before upload:119120```bash121python3 -c "import json; runs=json.load(open('runs.json')); print(f'{len(runs)} runs'); print(json.dumps(runs[0], indent=2))"122```1231245. Create and verify the experiment:125126```bash127ax experiments create --name "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE --file runs.json128ax experiments get "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE129```130131## Export and comparison analysis132133REST export is lower friction, uses standard HTTPS, and returns up to 500 runs per page. Flight export with `--all` uses Arrow Flight over gRPC+TLS at `flight.arize.com:443` and is required for experiments with more than 500 runs. If REST returns exactly 500 runs, treat it as likely truncated and re-run with `--all`.134135```bash136ax experiments export "experiment-a" --dataset DATASET_NAME --space SPACE --stdout > a.json137ax experiments export "experiment-b" --dataset DATASET_NAME --space SPACE --stdout > b.json138jq '[.[] | .evaluations.correctness.score] | add / length' a.json139jq '[.[] | .evaluations.correctness.score] | add / length' b.json140jq '[.[] | .evaluations.correctness.label] | group_by(.) | map({label: .[0], count: length})' a.json141jq 'length' a.json142```143144Find differing examples and regressions:145146```bash147jq -s '.[0] as $a | .[1][] | . as $run |148 {149 example_id: $run.example_id,150 b_score: $run.evaluations.correctness.score,151 a_score: ($a[] | select(.example_id == $run.example_id) | .evaluations.correctness.score)152 }' a.json b.json153154jq -s '155 [.[0][] | select(.evaluations.correctness.label == "correct")] as $passed_a |156 [.[1][] | select(.evaluations.correctness.label != "correct") |157 select(.example_id as $id | $passed_a | any(.example_id == $id))158 ]159' a.json b.json160```161162Score comparisons are most reliable with at least 30 examples per evaluator. With fewer examples, treat deltas as directional; a 5% difference on `n=10` may be noise. Always report sample size alongside scores.163164## Troubleshooting165166| Problem | Resolution |167| --- | --- |168| `ax: command not found` | Read `references/ax-setup.md`. |169| Version error | Read `references/ax-setup.md`. |170| `401 Unauthorized` | Inspect `ax profiles show`; fix profile with `references/ax-profiles.md`; direct the user to https://app.arize.com/admin > API Keys if they need a key. |171| `No profile found` | Create a profile with `references/ax-profiles.md`. |172| Space unknown | Run `ax spaces list`; choose by name where possible. |173| Project unclear | Ask the user or run `ax projects list -o json --limit 100`. |174| `Experiment not found` | Verify with `ax experiments list --space SPACE` and include `--dataset DATASET_NAME` when using a name. |175| `Dataset not found` | Check `ax datasets list`; the linked dataset may have been deleted. |176| `Invalid runs file` | Ensure each run has `example_id` and `output`. |177| `example_id mismatch` | Export the dataset and match run `example_id` values to dataset example IDs. |178| `No runs found` | Verify the experiment has runs with `ax experiments get`. |179| REST export exactly 500 runs | Re-run `ax experiments export ... --all`. |180| Missing model SDK or key | Stop and state the missing SDK, credential, or network access; do not fabricate outputs. |181182## Progressive disclosure and bundled resources183184- `references/ax-setup.md`: install and version troubleshooting for `ax`.185- `references/ax-profiles.md`: profile creation, update, inspection, and saved credentials.186187## Related primitives188189| Name | Type | Use it when |190| --- | --- | --- |191| `arize-dataset` | skill | The dataset must be created or exported before the experiment can run. |192| `arize-prompt-optimization` | skill | Experiment results should drive prompt improvements. |193| `arize-trace` | skill | Failing experiment runs need span-level trace inspection. |194| `arize-link` | skill | The user needs clickable UI links to traces from experiment runs. |195196## Technical index197198Preserve these Arize command placeholders, API names, and schema terms when editing or reporting: `CRUD`, `CRITICAL`, `MUST`, `CALL`, `REAL`, `MODEL`, `HERE`, `--stdout`, `--file -`, `Arrow/Flight`, `auto-escalation`, `host/port`, `create/update`, `custom`, `dataset/version`, `model/system`, `pass/fail/partial`, `evaluations`, `metadata`, `metric_name`, `run_001`, `experiment_abc123_20260305_141500`, `experiment_abc123_20260305_141500/runs.json`, `infer.py`, `user_input`, `output_text`, `base_url`, `api_key`, `max_tokens`, `anthropic`, `google-genai`, `generate_content`, `claude-sonnet-4-6`, `pip install openai`, `ax ai-integrations create`, `ax datasets export --stdout`, `ax experiments list --dataset DATASET_NAME --space SPACE`, `jq 'length' a.json`, and `references/ax-profiles.md.`199200## Output template201202```markdown203## Arize experiment result204205**Status:** created | exported | compared | deleted | blocked206**Space:** `<SPACE or ARIZE_SPACE>`207**Dataset:** `<DATASET_NAME>`208**Experiment(s):** `<EXPERIMENT_NAME or NAME_OR_ID>`209210### Commands run211- `<ax command>`212213### Run file214| Field | Value |215| --- | --- |216| Runs | `<count>` |217| Required fields | `example_id`, `output` |218| Evaluations | `<names or none>` |219| Metadata | `<keys or none>` |220221### Results222| Metric | Experiment A | Experiment B | Delta | Sample size |223| --- | --- | --- | --- | --- |224| `correctness.score` | `<value>` | `<value>` | `<delta>` | `<n>` |225226### Validation227- Real model API called for every example: <yes/no/evidence>228- Upload or export verified: <command and result>229- Truncation checked: <REST count or --all used>230```231232## Quality gate233234- [ ] `SPACE`, `DATASET_NAME`, and `EXPERIMENT_NAME` or `NAME_OR_ID` are resolved before create, get, export, compare, or delete.235- [ ] No `.env` files or credential searches were used; `ax profiles` or `ax ai-integrations` handled credentials.236- [ ] Every generated run has `example_id` and `output`; evaluations contain `label`, `score`, or `explanation` when present.237- [ ] Real model APIs were called for every dataset example; no output, latency, label, score, or explanation was fabricated.238- [ ] REST exports returning exactly 500 runs were re-run with `--all`.239- [ ] Comparisons report sample size and treat fewer than 30 examples as directional.240- [ ] The final response includes commands run, result location or experiment ID, and any blocked credential or SDK requirement.241242## References243244- [Arize API keys](https://app.arize.com/admin)
Run npx skillmds@latest add paulasilvatech/arize-experiment-2 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Create, run, export, compare, delete, and troubleshoot Arize experiments with the ax CLI, including real model inference, run files, evaluations, result analysis, and dataset-linked experiment workflows. Use this skill when the user asks to create experiment, run experiment, compare models, evaluate AI, benchmark prompts, A/B test models, export experiment results, measure accuracy, or inspect experiment runs in Arize. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
paulasilvatech (@paulasilvatech) published this skill. Their other Agent Skills are listed on their SkillMD profile.