Best LLMs for Generated Content Relevance Scoring
Scores every item in a supplied set of generated or intermediate content against a target context, objective, or specification, returning a calibrated item-level relevance assessment. One current research use is to score topic reports generated from clusters of source claims agai
Models
Frontier on this task: Gemini 3.5 Flash at 9.18 / 10. Quality bar at 90%: 8.26.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate clears the bar but whose CI low does not.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| GPT-5.6 Luna | 8.79 / 10 | 8.48 | $3.20 | best value |
| Gemini 3.5 Flash | 9.18 / 10 | 8.84 | $13.53 | 4.2x more expensive |
| Qwen 3.7 Plus | 9.06 / 10 | 8.77 | $13.97 | 4.4x more expensive |
| NVIDIA Nemotron-3 Super 120B | 8.58 / 10 | 8.16 | $15.05 | 4.7x more expensive |
| Thinking Machines Inkling Small | 8.33 / 10 | 7.87 | $16.78 | 5.2x more expensive |
| NVIDIA Nemotron-3 Ultra 550B | 8.99 / 10 | 8.62 | $17.95 | 5.6x more expensive |
| GPT-5.6 Terra | 9.14 / 10 | 8.86 | $22.86 | 7.1x more expensive |
| DeepSeek V4 Flash | 8.46 / 10 | 8.18 | $30.74 | 9.6x more expensive |
| GPT-5.6 Sol | 9.16 / 10 | 8.87 | $38.36 | 12x more expensive |
| Claude Sonnet 5 | 8.44 / 10 | 7.95 | $48.29 | 15x more expensive |
| DeepSeek V4 Pro | 8.39 / 10 | 8.06 | $125.23 | 39x more expensive |
| Tencent Hy3 | 8.26 / 10 | 7.78 | $4.90 | 1.5x more expensive |
| Claude Haiku 4.5 | 8.20 / 10 | 7.91 | $4.87 | 1.5x more expensive |
| GPT-5.4 Nano | 7.78 / 10 | 7.38 | $1.89 | 41% cheaper |
| Gemini 3.1 Flash Lite | 8.22 / 10 | 7.84 | $14.04 | 4.4x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| GPT-5.6 Luna ★ OpenAI | 8.79 / 10 CI [8.48, 9.10] | MEDIUM | $3.20 | best value | batch |
| Gemini 3.5 Flash best Gemini | 9.18 / 10 CI [8.84, 9.52] | MEDIUM | $13.53 | 4.2x | batch |
| Qwen 3.7 Plus Alibaba Cloud (DashScope) | 9.06 / 10 CI [8.77, 9.34] | HIGH | $13.97 | 4.4x | batch |
| NVIDIA Nemotron-3 Super 120B OpenRouter | 8.58 / 10 CI [8.16, 8.99] | MEDIUM | $15.05 | 4.7x | batch |
| Thinking Machines Inkling Small OpenRouter | 8.33 / 10 CI [7.87, 8.79] | MEDIUM | $16.78 | 5.2x | batch |
| NVIDIA Nemotron-3 Ultra 550B OpenRouter | 8.99 / 10 CI [8.62, 9.36] | MEDIUM | $17.95 | 5.6x | batch |
| GPT-5.6 Terra OpenAI | 9.14 / 10 CI [8.86, 9.42] | HIGH | $22.86 | 7.1x | batch |
| DeepSeek V4 Flash DeepSeek | 8.46 / 10 CI [8.18, 8.75] | HIGH | $30.74 | 9.6x | batch |
| GPT-5.6 Sol OpenAI | 9.16 / 10 CI [8.87, 9.45] | HIGH | $38.36 | 12x | batch |
| Claude Sonnet 5 Anthropic | 8.44 / 10 CI [7.95, 8.92] | MEDIUM | $48.29 | 15x | batch |
| DeepSeek V4 Pro DeepSeek | 8.39 / 10 CI [8.06, 8.72] | MEDIUM | $125.23 | 39x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 27880 input tokens → 1719 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge one-to-one coverage of the supplied set, semantic relevance to the supplied context, recognition of material contribution or necessary qualification, score and threshold calibration, consistency across items, preservation of item identity, separation of content quality from contextual fit, and resistance to label, length, polish, and neighboring-item bias.
Prompt templates
This is a pooled capability — 3 prompt families share it. The pair shown first is the most frequently used in production.
LLMB_GENERATED_CONTENT_RELEVANCE_SCORING_SYSTEM +
LLMB_GENERATED_CONTENT_RELEVANCE_SCORING_USER
(1188 calls in window)
System prompt
Evaluate every supplied item for substantive relevance to the supplied scoring context. The context may describe an overall objective, question, scope, audience need, or destination section specification. Determine whether each item materially advances that context through evidence, analysis, useful background, or necessary qualification. Score items independently based on their actual content, not their label, length, polish, or similarity to neighboring items. A high-quality item that does not help satisfy the context must score low. Preserve each item identifier exactly, return one result for every input item, and apply the same relevance scale consistently across the set. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — scoring_context: {scoring_context}; items_list: {items_list}. Use only these inputs to complete the task defined by the system prompt.
GENERIC_RELEVANCE_SCORE_SYSTEM_PROMPT +
GENERIC_RELEVANCE_SCORE_USER_PROMPT
(360 calls in window)
System prompt
You are a relevance scorer. Your task is to evaluate how relevant each item is to a given context.
For each item, assign a relevance_score between 0.0 and 1.0:
- 1.0 = Highly relevant: directly and substantially addresses the context
- 0.7-0.9 = Relevant: clearly within scope, strong connection to the context
- 0.4-0.6 = Tangentially relevant: some connection but not a primary match
- 0.1-0.3 = Low relevance: weak or incidental connection
- 0.0 = Irrelevant: no meaningful connection
Scoring guidelines:
- Focus on topical and semantic alignment between each item and the context
- A high-quality item on an unrelated subject should still score low
- A brief item on a directly relevant subject should still score high
- Consider both explicit and implicit connections
Output rules:
- Return ALL items provided, one entry per item
- Each entry has exactly two fields: "id" (string, copied verbatim from the input) and "relevance_score" (float between 0.0 and 1.0)
- Wrap the entries in a single top-level key named "items"
- Do not invent extra fields (no "score", no "summary", no "reasoning", no "label")
- Do not rename the top-level key (it must be "items", not "analysis_batch", "results", "posts", etc.)
## Required Output Format
Your response MUST be a single, valid JSON object conforming to this schema:
```json
{schema_json_string}
```User prompt
## Scoring Context
{scoring_context}
---
## Items to Score
{items_list}
---
## Instructions
Score each item above for relevance to the scoring context.
Output exactly this shape and nothing more:
- Top-level key: "items" (an array, one entry per input item)
- Each entry has fields:
- id: the exact id from the input
- relevance_score: float between 0.0 and 1.0
Do not add any other fields. Do not rename the top-level key. Do not omit any item.
## Output Format
The required JSON output schema is provided in the system prompt.
JSON_REPAIR_SYSTEM +
JSON_REPAIR_USER
(2 calls in window)
System prompt
You are a JSON repair tool. The user gives you malformed or partial model output and a JSON Schema. Return ONLY a single valid JSON object that satisfies the schema, salvaging as much real content from the input as possible. Do not invent data for fields the input doesn't support — use the schema's allowed empty/null values. Output the JSON object only: no prose, no markdown, no code fences.
User prompt
JSON Schema:
{schema_json}
Malformed output to repair:
{raw_text}
Return only the corrected JSON object.