Evaluate retrieval
evaluate_retrievalScores ranked retrieval results against qrels and returns recall, precision, nDCG, hit rate, and MRR at selected cut-offs, so you can check whether retrieval quality is sufficient.
Instructions
Score a ranked retrieval run against relevance judgements (qrels). Returns recall@k, precision@k, nDCG@k (graded, linear gain), hit rate@k and MRR, averaged over judged queries, plus per-query values. Use it to check whether one retriever is good enough; to choose between several, use compare_configs. Deterministic; no model calls.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Cut-offs to evaluate. Defaults to [1, 3, 5, 10]. | |
| run | Yes | Ranked retrieval output: { queryId: [docId, ...] }, best match first. Example: { "q1": ["d7", "d3", "d9"] } | |
| qrels | Yes | Relevance judgements: { queryId: { docId: grade } }. Grade 0 means not relevant; higher grades are more relevant (used by nDCG). Example: { "q1": { "d3": 2, "d7": 1 } } |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| metrics | Yes | Metric name to value, e.g. { "recall@5": 0.83, "mrr": 0.71 } | |
| queries | Yes | Queries with at least one relevant document. | |
| perQuery | Yes | ||
| missingFromRun | Yes | Judged queries absent from the run (scored as an empty ranking). | |
| skippedQueries | Yes | Queries in qrels with no relevant documents (excluded from averages). |