Correct judge evaluations to improve accuracy over time
Judges get better the more you correct them. Each time you mark an evaluation as right or wrong, that correction is stored and used to refine future scoring. This is calibration.
Submit corrections via the SDK or REST API. This is useful for bulk calibration from automated pipelines, custom review workflows, or external labeling tools.
For judges using scored rubrics, provide the expected score and direction:
ze.send_feedback( prompt_slug="quality-scorer", completion_id="span-id-here", thumbs_up=False, judge_id="automation-id-here", expected_score=3.5, score_direction="too_high", reason="Score should have been lower due to grammar issues",)
curl -X POST "https://api.zeroeval.com/v1/prompts/{task_slug}/completions/{span_id}/feedback" \ -H "Authorization: Bearer $ZEROEVAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "thumbs_up": false, "judge_id": "automation-uuid-here", "expected_score": 3.5, "score_direction": "too_high", "reason": "Score should have been lower" }'
For scored judges with multiple criteria, correct individual criterion scores:
ze.send_feedback( prompt_slug="quality-scorer", completion_id="span-id-here", thumbs_up=False, judge_id="automation-id-here", reason="Criterion-level score adjustments", criteria_feedback={ "CTA_text": { "expected_score": 4.0, "reason": "CTA is clear and prominent" }, "CX-004": { "expected_score": 1.0, "reason": "Required phone number is missing" } })
curl -X POST "https://api.zeroeval.com/v1/prompts/{task_slug}/completions/{span_id}/feedback" \ -H "Authorization: Bearer $ZEROEVAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "thumbs_up": false, "judge_id": "automation-uuid-here", "criteria_feedback": { "CTA_text": {"expected_score": 4.0, "reason": "CTA is clear and visible"}, "CX-004": {"expected_score": 1.0, "reason": "Phone number is missing"} } }'
To discover valid criterion keys before sending per-criterion feedback:
criteria = ze.get_judge_criteria( project_id="your-project-id", judge_id="automation-id-here",)for c in criteria["criteria"]: print(c["key"], c.get("description"))