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
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 attivo — Import loaded instances trasforma le istanze del task in esempi.
- Solo dalle tracce acquisite — Import ingested traces (webhook / LangSmith / Langfuse).
- Con le annotazioni umane come riferimenti — aggrega l'etichetta umana di maggioranza per ciascuno schema nei
reference_outputsdi 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>}
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).
| Metodo | Percorso | Scopo |
|---|---|---|
| POST | /datasets/api/datasets | Crea un dataset |
| POST | /datasets/api/datasets/<name>/examples | Aggiunge esempi (nuova versione) |
| POST | /datasets/api/datasets/<name>/tag | Applica un tag a una versione |
| GET | /datasets/api/datasets/<name>/export?format=sft|dpo | Esporta JSONL |
| POST | /datasets/api/experiments/run | Esegue un esperimento |
| GET | /datasets/api/experiments | Elenca 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
- Riferimento completo su Read the Docs — API completa e dettagli di archiviazione, allineato alla versione
- Valutatori programmatici
- Regole di automazione — cura automaticamente le tracce in arrivo nei dataset
- Curazione semantica — trova per similarità le tracce da aggiungere