Trazas
Trazas (Traces)
Las trazas son el registro principal de cada operación LLM, desde la entrada hasta la salida, incluyendo metadatos y feedback.
Endpoints
GET
/api/v1/projects/{projectId}/opik/tracesLista todas las trazas del proyecto
Query Parameters
| Parámetro | Tipo | Descripción |
|---|---|---|
page | number | Página (default: 1) |
size | number | Items por página (default: 50) |
tags | string | Filtrar por tags (separados por coma) |
POST
/api/v1/projects/{projectId}/opik/tracesCrea una nueva traza
{
"name": "Chat Request",
"input": { "message": "¿Cómo estás?" },
"output": { "response": "Muy bien, gracias" },
"metadata": {
"user_id": "user-123",
"session_id": "session-456"
},
"tags": ["production", "chat"]
}POST
/api/v1/projects/{projectId}/opik/traces/batchCrea múltiples trazas en batch
{
"traces": [
{ "name": "Request 1", "input": {...}, "output": {...} },
{ "name": "Request 2", "input": {...}, "output": {...} }
]
}Estructura de una Traza
{
"id": "trace-uuid-1234",
"name": "Chat Request",
"startTime": "2025-12-29T10:30:00Z",
"endTime": "2025-12-29T10:30:02Z",
"durationMs": 2340,
"input": { "message": "¿Cómo estás?" },
"output": { "response": "Muy bien, gracias" },
"metadata": {
"user_id": "user-123"
},
"tags": ["production", "chat"],
"totalTokens": 45,
"hasError": false,
"feedbackScores": [
{ "name": "quality", "value": 0.95 }
]
}Ejemplo de Uso
// Crear una traza para un chat
const trace = await fetch('/api/v1/projects/my-project/opik/traces', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
name: 'Customer Support Chat',
input: { message: '¿Cómo puedo devolver un producto?' },
output: { response: 'Para devolver un producto...' },
tags: ['support', 'returns']
})
})
const { trace: createdTrace } = await trace.json()
console.log(`Traza creada: ${createdTrace.id}`)