Spans
Spans
Los spans son sub-operaciones dentro de una traza. Permiten desglosar cada paso del proceso: llamadas LLM, retrieval, herramientas, etc.
Tipos de Span
llm
Llamadas a modelos de lenguaje (GPT, Claude, etc.)
retrieval
Búsqueda en base de conocimiento (RAG)
tool
Uso de herramientas (function calling)
general
Operaciones generales
Endpoints
GET
/api/v1/projects/{projectId}/opik/spansLista spans de una traza
Query Parameters
trace_id | ID de la traza (requerido) |
type | Filtrar por tipo |
POST
/api/v1/projects/{projectId}/opik/spansCrea un nuevo span
{
"trace_id": "trace-uuid",
"name": "OpenAI GPT-4",
"type": "llm",
"input": { "prompt": "..." },
"output": { "response": "..." },
"model": "gpt-4o",
"usage": {
"prompt_tokens": 150,
"completion_tokens": 80,
"total_tokens": 230
}
}Ejemplo de Uso
// Crear span de LLM
const span = await fetch('/api/v1/projects/my-project/opik/spans', {
method: 'POST',
body: JSON.stringify({
trace_id: 'trace-123',
name: 'Claude 3.5 Sonnet',
type: 'llm',
input: { prompt: 'Analiza este documento...' },
output: { analysis: '...' },
model: 'claude-3-5-sonnet',
usage: {
prompt_tokens: 500,
completion_tokens: 200,
total_tokens: 700
}
})
})