Arize Experiment
Creates, runs, and analyzes Arize experiments for evaluating and comparing model performance. Covers experiment CRUD, exporting runs, comparing results, and evaluation workflows using the ax CLI. Use when the user mentions create experiment, run experiment, compare models, model performance, evaluate AI, experiment results, benchmark, A/B test models, or measure accuracy.
- Skill ID
- arize-ai/arize-skills/arize-experiment
- Publisher
- arize-ai
- Repository
- arize-skills
- Installs
- 0
- Files
- 5
- Requires
- Requires the ax CLI (≥ 0.33.0) and a configured Arize profile.
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
arize-ai/arize-skills/arize-experimentInstalls these files- SKILL.md
- references/ax-profiles.md
- references/ax-setup.md
- references/experiments-cli.md
- references/inference-template.py
What this skill tells the agent
Arize Experiment Skill
`SPACE` —--spaceflags accept a space name (e.g.,my-workspace) or a base64 space ID (e.g.,U3BhY2U6...). Find yours withax spaces list.
Concepts
- Experiment = a named evaluation run against a specific dataset version, containing one run per example
- Experiment Run = the result of processing one dataset example -- includes the model output, optional evaluations, and optional metadata
- Dataset = a versioned collection of examples; every experiment is tied to a dataset and a specific dataset version
- Evaluation = a named metric attached to a run (e.g.,
correctness,relevance), with optional label, score, and explanation
The typical flow: export a dataset → process each example → collect outputs and evaluations → create an experiment with the runs.
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 foundor version error → see references/ax-setup.md401 Unauthorized/ missing API key → runax profiles showto inspect the current profile. If the profile is missing or the API key is wrong, follow references/ax-profiles.md to create/update it. If the user doesn't have their key, direct them to https://app.arize.com/admin > API Keys- Space unknown → run
ax spaces listto pick by name, or ask the user - Project unclear → ask the user, or run
ax projects list -o json --limit 100and present as selectable options - Security: Never read
.envfiles or search the filesystem for credentials. Useax profilesfor Arize credentials andax ai-integrationsfor LLM provider keys. Never ask the user to paste secrets into chat. For missing credentials, see references/ax-profiles.md. - CRITICAL — Never fabricate outputs: When running an experiment, you MUST call the real model API specified by the user for every dataset example. Never fabricate, simulate, or hardcode model outputs, latencies, or evaluation scores. If you cannot call the API (missing SDK, missing credentials, network error), stop and tell the user what is needed before proceeding.
List Experiments: ax experiments list
Browse experiments, optionally filtered by dataset. Output goes to stdout.
ax experiments list
ax experiments list --dataset DATASET_NAME --space SPACE --limit 20 # DATASET_NAME: name or ID (name preferred)
ax experiments list --cursor CURSOR_TOKEN
ax experiments list -o jsonFlags: see references/experiments-cli.md#list.
Get Experiment: ax experiments get
Quick metadata lookup -- returns experiment name, linked dataset/version, and timestamps.
ax experiments get NAME_OR_ID
ax experiments get NAME_OR_ID -o json
ax experiments get NAME_OR_ID --dataset DATASET_NAME --space SPACE # required when using experiment name instead of IDFlags: see references/experiments-cli.md#get.
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Experiment ID |
name | string | Experiment name |
dataset_id | string | Linked dataset ID |
dataset_version_id | string | Specific dataset version used |
experiment_traces_project_id | string | Project where experiment traces are stored |
created_at | datetime | When the experiment was created |
updated_at | datetime | Last modification time |
Export Experiment: ax experiments export
Download all runs to a file. By default uses the REST API; pass --all to use Arrow Flight for bulk transfer.
# EXPERIMENT_NAME, DATASET_NAME: name or ID (name preferred)
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE
# -> experiment_abc123_20260305_141500/runs.json
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --all
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --output-dir ./results
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout
ax experiments export EXPERIMENT_NAME --dataset DATASET_NAME --space SPACE --stdout | jq '.[0]'Flags: see references/experiments-cli.md#export.
REST vs Flight (--all)
- REST (default): Lower friction -- no Arrow/Flight dependency, standard HTTPS ports, works through any corporate proxy or firewall. Limited to 500 runs per page.
- Flight (
--all): Required for experiments with more than 500 runs. Uses gRPC+TLS on a separate host/port which some corporate networks may block. The activeaxprofile supplies the regional endpoint; see profile setup.
Agent auto-escalation rule: If a REST export returns exactly 500 runs, the result is likely truncated. Re-run with --all to get the full dataset.
Output is a JSON array of run objects:
[
{
"id": "run_001",
"example_id": "ex_001",
"output": "The answer is 4.",
"evaluations": {
"correctness": { "label": "correct", "score": 1.0 },
"relevance": { "score": 0.95, "explanation": "Directly answers the question" }
},
"metadata": { "model": "gpt-4o", "latency_ms": 1234 }
}
]Create Experiment: ax experiments create
Create a new experiment with runs from a data file.
ax experiments create --name "gpt-4o-baseline" --dataset DATASET_NAME --space SPACE --file runs.json
ax experiments create --name "claude-test" --dataset DATASET_NAME --space SPACE --file runs.csvFlags: see references/experiments-cli.md#create. --dataset is optional — omit it to create a standalone experiment with no linked dataset (then --space is required instead).
Passing data via stdin
Use --file - to pipe data directly — no temp file needed:
echo '[{"example_id": "ex_001", "output": "Paris"}]' | ax experiments create --name "my-experiment" --dataset DATASET_NAME --space SPACE --file -
# Or with a heredoc
ax experiments create --name "my-experiment" --dataset DATASET_NAME --space SPACE --file - << 'EOF'
[{"example_id": "ex_001", "output": "Paris"}]
EOFRequired columns in the runs file
| Column | Type | Required | Description |
|---|---|---|---|
example_id | string | yes | The dataset example's top-level `id` from ax datasets export |
output | string | yes | The model/system output for this example |
Additional columns are passed through as additionalProperties on the run.
`example_id` must be the Arize row id — the top-levelidfield on each exported dataset example (ex["id"]). Do not use a value nested inside the example's input fields oradditional_properties; a wrong value fails silently or attaches the run to the wrong example. Export the dataset and inspect the top-levelidfield before creating runs.
⚠️ Inline evaluations in the create file do NOT attach as scores.createonly readsexample_idandoutput; every other column — including anevaluationsobject — is stored as a passthrough additional field, not as an experiment evaluation, and will not appear as a score in the UI. This fails silently (no error). To attach scores/labels, create the experiment first, then runax experiments annotate-runs. Theevaluationsobject in the schemas below is the export (read) shape returned once annotations exist — it is not an input tocreate.
Run a Task Locally: ax experiments run
Unlike create (needs a pre-computed outputs file), run loads a Python task function, executes it against every dataset row, and uploads the results as an experiment.
ax experiments run -n "my-experiment" --dataset DATASET_NAME --space SPACE --task task.pyMore from arize-ai
Use this skill in a project
Open any RiverX project, search the Skills panel for arize-ai/arize-skills/arize-experiment, and install it in one click.
