Skip to content

Dataset ed esperimenti

Costruisci dataset di valutazione versionati ed esegui esperimenti che assegnano punteggi agli output degli agenti nel tempo. La spina dorsale della valutazione in Potato: archiviazione su file o SQLite, versioni con tag, split, esportazione SFT/DPO e un confronto fianco a fianco tra esperimenti con i delta delle regressioni.

Dataset ed esperimenti sono la spina dorsale della valutazione in Potato: raccolte versionate di esempi di valutazione ed esecuzioni di esperimenti che li valutano con i valutatori programmatici. Insieme trasformano Potato da "annota una volta" a "valuta in continuo": curi un test set, esegui i valutatori e monitori i punteggi tra le versioni di prompt o di modello.

Attivazione

yaml
datasets:
  enabled: true
  storage: file   # "file" (default, git-diffable JSONL) | "sqlite"

Dataset

Un dataset è una raccolta con nome di esempi (id, inputs, reference_outputs opzionali, metadata, split). Ogni aggiunta/aggiornamento/eliminazione crea una nuova versione immutabile (v0001, v0002, …); le versioni possono ricevere un tag (ad es. prod) e le letture fissano una versione con as_of (latest, un tag o un id di versione).

Puoi curare gli esempi in tre modi:

  • Dal task attivoImport loaded instances trasforma le istanze del task in esempi.
  • Solo dalle tracce acquisiteImport ingested traces (webhook / LangSmith / Langfuse).
  • Con le annotazioni umane come riferimenti — aggrega l'etichetta umana di maggioranza per ciascuno schema nei reference_outputs di ogni esempio.

Esperimenti

Un esperimento esegue i valutatori su una versione di un dataset e registra i risultati per esempio più i punteggi aggregati. Scegli un dataset e i valutatori nella pagina di panoramica e premi Run, oppure POST /datasets/api/experiments/run. Seleziona due o più esperimenti e premi Compare per vedere i punteggi aggregati fianco a fianco, con i delta rispetto alla baseline così che le regressioni saltino all'occhio.

I valutatori LLM-judge chiamano l'endpoint AI configurato e su dataset di grandi dimensioni possono richiedere tempo.

Esportazione verso dati di fine-tuning

Qualsiasi versione di un dataset si esporta in JSONL per il fine-tuning:

  • SFT{"prompt": <inputs>, "completion": <reference_outputs>}
  • DPO{"prompt": <inputs>, "chosen": <reference_outputs>, "rejected": <metadata.rejected | outputs>}
bash
curl -OJ "http://localhost:8000/datasets/api/datasets/agent-eval-v1/export?format=sft"

API

Tutti gli endpoint richiedono l'autenticazione di amministratore (header X-API-Key o sessione admin).

MetodoPercorsoScopo
POST/datasets/api/datasetsCrea un dataset
POST/datasets/api/datasets/<name>/examplesAggiunge esempi (nuova versione)
POST/datasets/api/datasets/<name>/tagApplica un tag a una versione
GET/datasets/api/datasets/<name>/export?format=sft|dpoEsporta JSONL
POST/datasets/api/experiments/runEsegue un esperimento
GET/datasets/api/experimentsElenca gli esperimenti

L'API di eval-admin (/admin/eval/...) ispeziona e controlla il processo di annotazione per questi task: stato di dataset/esperimenti, avanzamento dell'annotazione per istanza, conteggi delle tracce acquisite e pausa/ripresa delle assegnazioni.

Correlati