Skip to main content

sdk-ai-bot-eval-dataset

Create a new evaluation dataset or add cases to an existing one for the Azure SDK QA bot evaluation. WHEN: "add eval dataset item", "add a test case", "new evaluation dataset", "create dataset", "add question to dataset", "curate eval data", "promote staging cases", "upload dataset asset", "new scenario dataset". DO NOT USE FOR: running evaluations, pipeline troubleshooting, knowledge-graph indexing.

Quellinformationen

Repository
Azure/azure-sdk-tools
Letzte Quellaktivität
2. Juli 2026 um 05:50
Erkannte Sprache von SKILL.md
Englisch
Sterne
134
Forks
262

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
sdk-ai-bot-eval-dataset
license
MIT
metadata
{"version":"1.0.0","distribution":"local"}
description
Create a new evaluation dataset or add cases to an existing one for the Azure SDK QA bot evaluation. WHEN: "add eval dataset item", "add a test case", "new evaluation dataset", "create dataset", "add question to dataset", "curate eval data", "promote staging cases", "upload dataset asset", "new scenario dataset". DO NOT USE FOR: running evaluations, pipeline troubleshooting, knowledge-graph indexing.
compatibility
local azure-sdk-tools clone, python 3.12 venv, az login
# QA Bot Evaluation Dataset Create a new per-scenario evaluation dataset or add cases to an existing one for the QA bot evaluation package at `tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation`. Datasets are per-scenario JSONL files under `evaluation_datasets/<target>/<scenario>.jsonl` (`target` = `basic` or `perf`) holding **inputs + expectations only**. Run all commands from `tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation` with the package `.venv` active and `az login` done. See [schema and workflows](references/dataset-schema-and-workflows.md) for the canonical row format and step-by-step recipes. ## Triggers USE FOR: create a new evaluation dataset (new scenario file); add cases to an existing per-scenario dataset; curate cases from storage markdown; promote reviewed staging cases; upload a dataset as a Foundry asset WHEN: "add eval dataset item", "add a test case", "new evaluation dataset", "create dataset", "add question to dataset", "curate eval data", "promote staging cases", "upload dataset asset", "new scenario dataset" DO NOT USE FOR: running evaluations, pipeline troubleshooting, knowledge-graph indexing ## Rules - A **dataset** is one file: `evaluation_datasets/<target>/<scenario>.jsonl`. **Creating a new dataset = creating a new `<scenario>.jsonl`** in `basic/` or `perf/`. - The canonical **dedup key is the normalized `query`** (applied at curation). `testcase` titles may legitimately repeat (e.g. `Untitled`) — never dedup or fail on `testcase`. - Only `reviewed: "pass"` rows are curated/committed; see the [review status lifecycle](references/dataset-schema-and-workflows.md) for the three states and how leftovers are finalized. - `evaluation_datasets/_staging/` **is committed** (shared review state) so concurrent contributors don't re-curate the same cases; `basic/`, `perf/` and `registry.json` are committed too. - Always validate before upload, and after editing any curated file. ## Environment Before running any command that touches Azure, **ensure the required variables are set** and remind the user to configure them. Dataset prep loads a local `.env` (copy and fill in `tools/sdk-ai-bots/azure-sdk-qa-bot-evaluation/env-variables`) and authenticates with `az login`. | Command | Requires | | ------------------------------------ | ---------------------------------------------------------------------------------------- | | `dataset.curate` | `az login`, `STORAGE_BLOB_ACCOUNT`, `AI_ONLINE_PERFORMANCE_EVALUATION_STORAGE_CONTAINER` | | `dataset.upload` | `az login`, `AZURE_AI_PROJECT_ENDPOINT` | | `dataset.validate`, `dataset.review` | none (local file operations) | If a required variable is missing the command fails (`KeyError` / auth error) — set it in `.env` or the shell and re-run. A purely **manual add** (edit JSONL + validate) needs no env vars; only `dataset.upload` then requires `AZURE_AI_PROJECT_ENDPOINT` + `az login`. ## Choose a workflow | Goal | Workflow | | ------------------------------------------------- | ------------------------------------------------------------------------------- | | Add a few specific cases you already have | [Manual add](references/dataset-schema-and-workflows.md#manual-add) | | Harvest new cases from collected storage markdown | [Curate from blob](references/dataset-schema-and-workflows.md#curate-from-blob) | | Create a brand-new scenario dataset | [New dataset](references/dataset-schema-and-workflows.md#new-dataset) | ## Core commands ```bash # Validate a file or folder (--require-reviewed gates official datasets on reviewed=="pass") python -m dataset.validate evaluation_datasets/<target>/<scenario>.jsonl --require-reviewed # Promote reviewed (pass) staging rows; leftover items are finalized to abandoned python -m dataset.review --target <basic|perf> [--scenario <scenario>] # Upload one versioned Foundry asset per scenario; writes registry.json python -m dataset.upload --target <basic|perf> [--scenario <scenario>] ``` After adding or creating a dataset: **validate → upload → commit** the per-scenario file, `registry.json`, and updated `_staging/` files. ## Steps 1. Pick a workflow from the table above (manual add, curate from blob, or new dataset). 2. Add or stage canonical rows in `evaluation_datasets/<target>/<scenario>.jsonl`. 3. For staged cases, promote the reviewed ones with `python -m dataset.review`. 4. Validate the file with `python -m dataset.validate ... --require-reviewed`. 5. Publish with `python -m dataset.upload`, then commit the per-scenario file, `registry.json`, and updated `_staging/`.
Auf GitHub ansehen