cd /news/large-language-models/how-evalport-s-grader-system-works-1… Β· home β€Ί topics β€Ί large-language-models β€Ί article
[ARTICLE Β· art-86787] src=dev.to β†— pub= topic=large-language-models verified=true sentiment=Β· neutral

How EvalPort's Grader System Works: 11 Types for LLM Evaluation

EvalPort introduces a grader system with 11 types for LLM evaluation, including exact_match, semantic_similarity, llm_judge, and custom, designed to be framework-agnostic and self-describing. The system allows multiple graders per test case and records scores separately, aiming to cover 90% of real-world eval needs.

read1 min views2 publishedAug 4, 2026

When designing EvalPort, the grader system was the hardest part to get right. Every eval framework has its own way of scoring LLM outputs β€” DeepEval uses metric classes, Promptfoo uses assertion objects, Inspect AI uses solver functions. We needed a system expressive enough to cover 90%+ of real-world eval needs, but simple enough that any framework could implement it.

The result: 11 grader types that carry their own semantics. A grader isn't just a name β€” it specifies its parameters, its model, its threshold. An eval suite is self-describing.

exact_match β€” Compare output to expected output, optionally ignoring case.

contains β€” Check if the output contains a substring.

regex β€” Match against a regular expression.

semantic_similarity β€” Embed output and expected output, compare cosine similarity against a threshold.

llm_judge β€” Use an LLM to evaluate the output against a prompt template. The most powerful grader.

json_schema β€” Validate that the output is valid JSON matching a JSON Schema.

json_path β€” Extract a value from JSON output using a JSONPath expression, then compare it.

code β€” Run a function to evaluate the output.

human β€” Defer to human review.

model_graded β€” Compare the output to a reference answer using a model.

custom β€” Escape hatch for graders not covered by built-in types.

A test case references graders by ID. Multiple graders can evaluate the same test case. The ResultSet records each grader's score separately.

Self-describing: An eval suite carries everything a framework needs to execute it.

Framework-agnostic: Any framework can implement any subset of grader types.

Extensible: The custom type lets frameworks bring their own graders.

Comparable: Results from different frameworks use the same grader IDs.

pip install evalport-sdk

npm install evalport-sdk

Spec: https://github.com/adhabnr-ux/evalport/blob/main/spec/SPEC.md

── more in #large-language-models 4 stories Β· sorted by recency
── more on @evalport 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/how-evalport-s-grade…] indexed:0 read:1min 2026-08-04 Β· β€”