Quality Assurance¶
The QA agent independently evaluates every translated segment and assigns a numeric score. Low-scoring segments trigger automatic correction loops before delivery.
What QA Evaluates¶
| Criterion | Description |
|---|---|
| Source fidelity | Does the translation accurately convey the source meaning? |
| Language quality | Is the target text grammatically correct and natural? |
| Terminology | Are glossary terms applied correctly? Are forbidden alternatives avoided? |
| Constraint compliance | Are formal constraints (e.g. max_chars) satisfied? |
Scoring¶
QA scores each segment on a 0–100 scale. The final qa_score in the API response is the average across all segments.
Score Thresholds¶
| Threshold | Value | Applies to |
|---|---|---|
| QA pass score | 95 | All segments — passes without correction |
| Global minimum | 90 | Standard segments |
| Short segment (≤7 words) | 85 | Relaxed threshold for short segments |
| Very short segment (≤3 words) | 75 | Highly relaxed for labels/fragments |
| Min acceptable score | 80 | Below this → needs_review |
Correction Loops¶
If any segment falls below the QA pass score:
- Only the failing segments are sent back for re-translation
- QA re-evaluates the corrected segments
- This repeats up to 2 times
After all correction loops:
- If all segments ≥ 80: job status →
completed - If any segment < 80: job status →
needs_review
Delivery Notes¶
When QA issues are found, the result includes structured delivery_notes describing the problems:
{
"delivery_notes": [
{
"type": "low_confidence",
"segment_id": 3,
"message": "QA flagged low confidence in segment 3 after 2 correction loops"
},
{
"type": "terminology",
"segment_id": 7,
"message": "Glossary term 'Bluthochdruck' could not be applied as specified"
}
]
}
Delivery Note Types¶
| Type | Description |
|---|---|
source_error |
Source text issue detected by Source Review |
low_confidence |
QA flagged persistent low confidence |
length_deviation |
Target text significantly shorter or longer than source |
terminology |
Glossary term could not be applied as specified |
Scores in the API¶
QA scores are available at two levels:
- Per segment:
segments[].qa_scorein bothGET /v1/jobs/{id}andGET /v1/jobs/{id}/result - Overall:
qa_scoreinGET /v1/jobs/{id}/result(average across segments)