shadcn/studio
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/traces
Lista todas las trazas del proyecto

Query Parameters

ParámetroTipoDescripción
pagenumberPágina (default: 1)
sizenumberItems por página (default: 50)
tagsstringFiltrar por tags (separados por coma)
POST
/api/v1/projects/{projectId}/opik/traces
Crea 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/batch
Crea 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}`)