Get a model comparison
Get a comparison's metrics.
Returns each entry's metric bundle (aggregate + per-field accuracy, latency, dataset baseline) and its lift against the baseline entry.
Every entry is re-scored on each read, so the parameters below decide the answer and none of them had to be chosen before the run started. Re-reading with different settings costs nothing — no model calls are repeated.
Structure — how array elements pair up:
orderMatching: score array elements in order instead of as sets
Strictness — how close two values must be to count as equal:
matchMode:strict(default) |normalized|fuzzy
matchMode is the whole of strictness. There are no separate thresholds to tune:
normalized already compares numbers numerically and dates by calendar value
rather than by spelling, and fuzzy adds a fixed similarity pass over free text.
Authorization
API Key Authenticate using API Key in request header
In: header
Path Parameters
The comparisonID returned by POST /v3/model-comparisons.
Query Parameters
strict (default), normalized, or fuzzy. Any other value is a 400 — an
unrecognized mode is rejected rather than scored at some other strictness.
Score array elements in order instead of as sets.
Include per-row, per-field comparison detail (rowResults) on each entry,
scored under the same settings as the metrics. Powers mislabel detection. Off
by default — it can be large.
Response Body
application/json
application/json
application/json
curl -X GET "https://api.bem.ai/v3/model-comparisons/string"{
"comparisonID": "string",
"name": "string",
"status": "pending",
"entries": [
{
"label": "string",
"functionName": "string",
"functionVersionNum": 0,
"scoreRunID": "string",
"status": "pending",
"isBaseline": true,
"coverage": {
"completed": 0,
"total": 0
},
"metrics": {
"aggregateMetrics": {
"accuracy": 0.1,
"precision": 0.1,
"recall": 0.1,
"f1Score": 0.1,
"tp": 0,
"fp": 0,
"fn": 0,
"tn": 0
},
"fieldMetrics": [
null
]
},
"latencyPercentiles": {
"latencyP50": 0.1,
"latencyP90": 0.1,
"latencyP95": 0.1
},
"baselineMetrics": {
"aggregateMetrics": {
"accuracy": 0.1,
"precision": 0.1,
"recall": 0.1,
"f1Score": 0.1,
"tp": 0,
"fp": 0,
"fn": 0,
"tn": 0
},
"fieldMetrics": [
null
]
},
"lift": {
"accuracy": {
"baselineValue": 0.1,
"comparisonValue": 0.1,
"difference": 0.1,
"liftPercent": 0.1
},
"precision": {
"baselineValue": 0.1,
"comparisonValue": 0.1,
"difference": 0.1,
"liftPercent": 0.1
},
"recall": {
"baselineValue": 0.1,
"comparisonValue": 0.1,
"difference": 0.1,
"liftPercent": 0.1
},
"f1Score": {
"baselineValue": 0.1,
"comparisonValue": 0.1,
"difference": 0.1,
"liftPercent": 0.1
}
},
"rowResults": [
{
"rowKey": "string",
"fields": [
{
"path": "string",
"category": "string",
"expected": null,
"actual": null
}
]
}
]
}
]
}{
"message": "string",
"code": 0,
"details": {}
}{
"message": "string",
"code": 0,
"details": {}
}See also
- System overview — evaluating extraction quality