LLM-readable documentation index

Get Score Run

Hand off to an LLM

Get the status and per-pair results of a score run.

The comparison happens here, not in the run: the function's output is compared against the expected value on every read, under the configuration supplied below. Re-reading the same run with different settings returns different metrics and costs nothing — no model calls are repeated.

Comparison is exact and takes no configuration: a value matches the expected one or it is a miss. It is still redone on every read, so the numbers reflect the stored data as it is now.

Returns aggregate once status reaches completed or error. perPair is populated incrementally — each pair's fieldResults appears as its underlying function call terminates.

GET
/v3/eval/score/{scoreRunID}
x-api-key<token>

Authenticate using API Key in request header

In: header

Path Parameters

scoreRunID*string

The scoreRunID returned by POST /v3/eval/score.

Response Body

application/json

application/json

curl -X GET "https://api.bem.ai/v3/eval/score/string"
{
  "scoreRunID": "evalrun_2a8f...",
  "status": "completed",
  "functionName": "invoice-extractor",
  "functionVersionNum": 3,
  "progress": {
    "total": 1,
    "completed": 1,
    "failed": 0
  },
  "aggregate": {
    "precision": 1,
    "recall": 1,
    "f1": 1,
    "matches": 2,
    "mismatches": 0,
    "missing": 0,
    "extras": 0,
    "totalFieldsExpected": 2,
    "totalFieldsActual": 2
  },
  "perPair": [
    {
      "pairIndex": 0,
      "callID": "call_xxx",
      "status": "completed",
      "fieldResults": [
        {
          "path": "/invoiceNumber",
          "match": "match"
        },
        {
          "path": "/total",
          "match": "match"
        }
      ]
    }
  ]
}
{
  "message": "string",
  "code": 0,
  "details": {}
}

See also