Datasets
Datasets de Evaluación
Los datasets contienen pares de entrada/salida esperada para evaluar la calidad de tu modelo de manera sistemática.
Estructura de un Dataset
Dataset
Contiene nombre, descripción y una lista de items
Item: input + expected_output + metadata
Endpoints de Datasets
GET
/api/v1/projects/{id}/opik/datasetsLista todos los datasets
POST
/api/v1/projects/{id}/opik/datasetsCrea un nuevo dataset con items opcionales
{
"name": "QA Evaluation",
"description": "Dataset para evaluar Q&A",
"items": [
{
"input": { "question": "¿Capital de Francia?" },
"expected_output": { "answer": "París" }
}
]
}DELETE
/api/v1/projects/{id}/opik/datasets?name={name}Elimina un dataset
Endpoints de Items
GET
/api/v1/projects/{id}/opik/datasets/{name}/itemsLista items de un dataset con paginación
POST
/api/v1/projects/{id}/opik/datasets/{name}/itemsAgrega items (individual o batch)
// Individual
{
"input": { "question": "¿2+2?" },
"expected_output": { "answer": "4" }
}
// Batch
[
{ "input": {...}, "expected_output": {...} },
{ "input": {...}, "expected_output": {...} }
]DELETE
/api/v1/projects/{id}/opik/datasets/{name}/items?item_id={id}Elimina un item específico
Ejemplo Completo
// 1. Crear dataset
const dataset = await fetch('/api/v1/projects/my-project/opik/datasets', {
method: 'POST',
body: JSON.stringify({
name: 'Customer Support Eval',
description: 'Evaluación de soporte al cliente'
})
})
// 2. Agregar items en batch
await fetch('/api/v1/projects/my-project/opik/datasets/Customer Support Eval/items', {
method: 'POST',
body: JSON.stringify([
{
input: { question: '¿Horario de atención?' },
expected_output: { answer: 'Lunes a viernes, 9am-6pm' }
},
{
input: { question: '¿Cómo devolver un producto?' },
expected_output: { answer: 'Tienes 30 días para devolver...' }
}
])
})