Feedback
Feedback Scores
Los feedback scores permiten evaluar la calidad de trazas y spans con métricas como satisfacción, precisión, relevancia, etc.
Fuentes de Feedback
UI
Feedback manual desde la interfaz de usuario
API
Feedback programático vía API
SDK
Feedback automático desde el SDK
LLM Judge
Evaluación automática por otro LLM
Endpoints
GET
/api/v1/projects/{id}/opik/feedbackLista feedback scores con estadísticas
// Response
{
"feedbackScores": [...],
"stats": {
"total": 150,
"byName": {
"quality": { "count": 80, "avgValue": 0.85 },
"relevance": { "count": 70, "avgValue": 0.92 }
},
"avgValue": 0.88
}
}POST
/api/v1/projects/{id}/opik/feedbackAgrega un feedback score
{
"target_id": "trace-uuid",
"target_type": "trace", // o "span"
"name": "user_satisfaction",
"value": 0.95,
"reason": "Respuesta clara y útil",
"source": "ui"
}PUT
/api/v1/projects/{id}/opik/feedbackAgrega múltiples feedback scores en batch
{
"scores": [
{ "target_id": "trace-1", "name": "quality", "value": 0.9 },
{ "target_id": "trace-2", "name": "quality", "value": 0.8 }
]
}Ejemplo de Uso
// Agregar feedback después de interacción del usuario
async function submitFeedback(traceId: string, rating: number) {
await fetch('/api/v1/projects/my-project/opik/feedback', {
method: 'POST',
body: JSON.stringify({
target_id: traceId,
target_type: 'trace',
name: 'user_rating',
value: rating / 5, // Normalizar a 0-1
source: 'ui'
})
})
}
// Obtener estadísticas de feedback
const stats = await fetch('/api/v1/projects/my-project/opik/feedback')
const { stats: feedbackStats } = await stats.json()
console.log(`Satisfacción promedio: ${feedbackStats.avgValue * 100}%`)