Concepts
Golden Tasks
Des pièges qualité transparents pour mesurer la fiabilité des annotateurs.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Des pièges qualité transparents pour mesurer la fiabilité des annotateurs.
Flux SDK normal :
100 tâches servies via getNextTask()
└─ 95 tâches normales (réponses contribuent au consensus)
└─ 5 golden tasks (réponses évaluées contre goldenAnswer)
| Résultat | Impact |
|---|---|
| Bonne réponse | Score + 1 |
| Mauvaise réponse | Score - 3 |
| Gainé par le développeur | 0¢ (aucun) |
curl -X POST https://dloopiq.onrender.com/api/v1/admin/golden-tasks \
-H "Authorization: Bearer <admin_jwt>" \
-H "Content-Type: application/json" \
-d '{
"type": "SENTIMENT_ANALYSIS",
"content": "Ce film est un chef-d'\''œuvre absolu !",
"options": ["Positif", "Négatif", "Neutre"],
"goldenAnswer": "Positif",
"locale": "fr"
}'
{
"id": "cmpkb4ghw00016qduu44p7n2q",
"type": "SENTIMENT_ANALYSIS",
"content": "Ce film est un chef-d'œuvre absolu !",
"goldenAnswer": "Positif",
"isGolden": true,
"createdAt": "2026-05-25T10:00:00Z"
}
goldenAnswer n’est jamais exposé dans l’objet Task retourné par le SDK. Seul l’admin peut le voir.curl "https://dloopiq.onrender.com/api/v1/admin/golden-tasks?limit=20" \
-H "Authorization: Bearer <admin_jwt>"
{
"goldenTasks": [
{
"id": "cmpkb4ghw00016qduu44p7n2q",
"type": "SENTIMENT_ANALYSIS",
"content": "Ce film est un chef-d'œuvre absolu !",
"goldenAnswer": "Positif",
"timesServed": 47,
"correctResponses": 42,
"accuracy": 0.89
}
],
"nextCursor": null,
"total": 1
}
// Bon exemple : cas ambigus avec réponse claire
const goodGolden = {
content: "Livraison rapide mais emballage abîmé.",
options: ["Positif", "Négatif", "Neutre"],
goldenAnswer: "Neutre" // Sentiments contradictoires → Neutre
}
// Mauvais exemple : trop évident
const badGolden = {
content: "J'adore ce produit c'est parfait !!!!",
options: ["Positif", "Négatif", "Neutre"],
goldenAnswer: "Positif" // Trop facile, ne mesure rien
}
const result = await dloopiq.completeTask({
taskId: task.taskId,
userId: 'user_123',
answer: 'Positif',
timeSpentMs: 2800
})
console.log(result.isGolden) // true
console.log(result.earnedCents) // 0 ← toujours zéro
console.log(result.status) // "accepted"