Skip to content
Back to skills

531 Llm Evaluation Frameworks B87239c5

ASecurity

Concrete metrics, scoring methods, comparison tables, and A/B testing frameworks.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
researchpythongorailstestingapiperformance

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 531-llm_evaluation_frameworks_b87239c5 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 531 Llm Evaluation Frameworks B87239c5?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 531 Llm Evaluation Frameworks B87239c5
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-531-llm-evaluation-frameworks-b87239c5/badge)](https://www.skillsdirectory.com/skills/tools-only-531-llm-evaluation-frameworks-b87239c5)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# LLM Evaluation Frameworks

Concrete metrics, scoring methods, comparison tables, and A/B testing frameworks.

## Frameworks Index

1. [Evaluation Metrics Overview](#1-evaluation-metrics-overview)
2. [Text Generation Metrics](#2-text-generation-metrics)
3. [RAG-Specific Metrics](#3-rag-specific-metrics)
4. [Human Evaluation Frameworks](#4-human-evaluation-frameworks)
5. [A/B Testing for Prompts](#5-ab-testing-for-prompts)
6. [Benchmark Datasets](#6-benchmark-datasets)
7. [Evaluation Pipeline Design](#7-evaluation-pipeline-design)

---

## 1. Evaluation Metrics Overview

### Metric Categories

| Category | Metrics | When to Use |
|----------|---------|-------------|
| **Lexical** | BLEU, ROUGE, Exact Match | Reference-based comparison |
| **Semantic** | BERTScore, Embedding similarity | Meaning preservation |
| **Task-specific** | F1, Accuracy, Precision/Recall | Classification, extraction |
| **Quality** | Coherence, Fluency, Relevance | Open-ended generation |
| **Safety** | Toxicity, Bias scores | Content moderation |

### Choosing the Right Metric

```
Is there a single correct answer?
├── Yes → Exact Match or F1
└── No
    └── Is there a reference output?
        ├── Yes → BLEU, ROUGE, or BERTScore
        └── No
            └── Can you define quality criteria?
                ├── Yes → Human evaluation + LLM-as-judge
                └── No → A/B testing with user metrics
```

---

## 2. Text Generation Metrics

### BLEU (Bilingual Evaluation Understudy)

**What it measures:** N-gram overlap between generated and reference text.

**Score range:** 0 to 1 (higher is better)

**Calculation:**
```
BLEU = BP × exp(Σ wn × log(pn))

Where:
- BP = brevity penalty (penalizes short outputs)
- pn = precision of n-grams
- wn = weight (typically 0.25 for BLEU-4)
```

**Interpretation:**
| BLEU Score | Quality |
|------------|---------|
| > 0.6 | Excellent |
| 0.4 - 0.6 | Good |
| 0.2 - 0.4 | Acceptable |
| < 0.2 | Poor |

**Example:**
```
Reference: "The quick brown fox jumps over the lazy dog"
Generated: "A fast brown fox leaps over the lazy dog"

1-gram precision: 7/9 = 0.78 (matched: brown, fox, over, the, lazy, dog)
2-gram precision: 4/8 = 0.50 (matched: brown fox, the lazy, lazy dog)
BLEU-4: ~0.35
```

**Limitations:**
- Doesn't capture meaning (synonyms penalized)
- Position-independent
- Requires reference text

---

### ROUGE (Recall-Oriented Understudy for Gisting Evaluation)

**What it measures:** Overlap focused on recall (coverage of reference).

**Variants:**
| Variant | Measures |
|---------|----------|
| ROUGE-1 | Unigram overlap |
| ROUGE-2 | Bigram overlap |
| ROUGE-L | Longest common subsequence |
| ROUGE-Lsum | LCS with sentence-level computation |

**Calculation:**
```
ROUGE-N Recall = (matching n-grams) / (n-grams in reference)
ROUGE-N Precision = (matching n-grams) / (n-grams in generated)
ROUGE-N F1 = 2 × (Precision × Recall) / (Precision + Recall)
```

**Example:**
```
Reference: "The cat sat on the mat"
Generated: "The cat was sitting on the mat"

ROUGE-1:
  Recall: 5/6 = 0.83 (matched: the, cat, on, the, mat)
  Precision: 5/7 = 0.71
  F1: 0.77

ROUGE-2:
  Recall: 2/5 = 0.40 (matched: "the cat", "the mat")
  Precision: 2/6 = 0.33
  F1: 0.36
```

**Best for:** Summarization, text compression

---

### BERTScore

**What it measures:** Semantic similarity using contextual embeddings.

**How it works:**
1. Generate BERT embeddings for each token
2. Compute cosine similarity between token pairs
3. Apply greedy matching to find best alignment
4. Aggregate into Precision, Recall, F1

**Advantages over lexical metrics:**
- Captures synonyms and paraphrases
- Context-aware matching
- Better correlation with human judgment

**Example:**
```
Reference: "The movie was excellent"
Generated: "The film was outstanding"

Lexical (BLEU): Low score (only "The" and "was" match)
BERTScore: High score (semantic meaning preserved)
```

**Interpretation:**
| BERTScore F1 | Quality |
|--------------|---------|
| > 0.9 | Excellent |
| 0.8 - 0.9 | Good |
| 0.7 - 0.8 | Acceptable |
| < 0.7 | Review needed |

---

## 3. RAG-Specific Metrics

### Context Relevance

**What it measures:** How relevant retrieved documents are to the query.

**Calculation methods:**

**Method 1: Embedding similarity**
```python
relevance = cosine_similarity(
    embed(query),
    embed(context)
)
```

**Method 2: LLM-as-judge**
```
Prompt: "Rate the relevance of this context to the question.
Question: {question}
Context: {context}
Rate from 1-5 where 5 is highly relevant."
```

**Target:** > 0.8 for top-k contexts

---

### Answer Faithfulness

**What it measures:** Whether the answer is supported by the context (no hallucination).

**Evaluation prompt:**
```
Given the context and answer, determine if every claim in the
answer is supported by the context.

Context: {context}
Answer: {answer}

For each claim in the answer:
1. Identify the claim
2. Find supporting evidence in context (or mark as unsupported)
3. Rate: Supported / Partially Supported / Not Supported

Overall faithfulness score: [0-1]
```

**Scoring:**
```
Faithfulness = (supported claims) / (total claims)
```

**Target:** > 0.95 for production systems

---

### Retrieval Metrics

| Metric | Formula | What it measures |
|--------|---------|------------------|
| **Precision@k** | (relevant in top-k) / k | Quality of top results |
| **Recall@k** | (relevant in top-k) / (total relevant) | Coverage |
| **MRR** | 1 / (rank of first relevant) | Position of first hit |
| **NDCG@k** | DCG@k / IDCG@k | Ranking quality |

**Example:**
```
Query: "What is photosynthesis?"
Retrieved docs (k=5): [R, N, R, N, R]  (R=relevant, N=not relevant)
Total relevant in corpus: 10

Precision@5 = 3/5 = 0.6
Recall@5 = 3/10 = 0.3
MRR = 1/1 = 1.0 (first doc is relevant)
```

---

## 4. Human Evaluation Frameworks

### Likert Scale Evaluation

**Setup:**
```
Rate the following response on a scale of 1-5:

Response: {generated_response}

Criteria:
- Relevance (1-5): Does it address the question?
- Accuracy (1-5): Is the information correct?
- Fluency (1-5): Is it well-written?
- Helpfulness (1-5): Would this be useful to the user?
```

**Sample size guidance:**
| Confidence Level | Margin of Error | Required Samples |
|-----------------|-----------------|------------------|
| 95% | ±5% | 385 |
| 95% | ±10% | 97 |
| 90% | ±10% | 68 |

---

### Comparative Evaluation (Side-by-Side)

**Setup:**
```
Compare these two responses to the question:

Question: {question}

Response A: {response_a}
Response B: {response_b}

Which response is better?
[ ] A is much better
[ ] A is slightly better
[ ] About the same
[ ] B is slightly better
[ ] B is much better

Why? _______________
```

**Advantages:**
- Easier for humans than absolute scoring
- Reduces calibration issues
- Clear winner for A/B decisions

**Analysis:**
```
Win rate = (A wins + 0.5 × ties) / total
Bradley-Terry model for ranking multiple variants
```

---

### LLM-as-Judge

**Setup:**
```
You are an expert evaluator. Rate the quality of this response.

Question: {question}
Response: {response}
Reference (if available): {reference}

Evaluate on:
1. Correctness (0-10): Is the information accurate?
2. Completeness (0-10): Does it fully address the question?
3. Clarity (0-10): Is it easy to understand?
4. Conciseness (0-10): Is it appropriately brief?

Provide scores and brief justification for each.
Overall score (0-10):
```

**Calibration techniques:**
- Include reference responses with known scores
- Use chain-of-thought for reasoning
- Compare against human baseline periodically

**Known biases:**
| Bias | Mitigation |
|------|------------|
| Position bias | Randomize order |
| Length bias | Normalize or specify length |
| Self-preference | Use different model as judge |
| Verbosity preference | Penalize unnecessary length |

---

## 5. A/B Testing for Prompts

### Experiment Design

**Hypothesis template:**
```
H0: Prompt A and Prompt B have equal performance on [metric]
H1: Prompt B improves [metric] by at least [minimum detectable effect]
```

**Sample size calculation:**
```
n = 2 × ((z_α + z_β)² × σ²) / δ²

Where:
- z_α = 1.96 for 95% confidence
- z_β = 0.84 for 80% power
- σ = standard deviation of metric
- δ = minimum detectable effect
```

**Quick reference:**
| MDE | Baseline Rate | Required n/variant |
|-----|---------------|-------------------|
| 5% relative | 50% | 3,200 |
| 10% relative | 50% | 800 |
| 20% relative | 50% | 200 |

---

### Metrics to Track

**Primary metrics:**
| Metric | Measurement |
|--------|-------------|
| Task success rate | % of queries with correct/helpful response |
| User satisfaction | Thumbs up/down or 1-5 rating |
| Engagement | Follow-up questions, session length |

**Guardrail metrics:**
| Metric | Threshold |
|--------|-----------|
| Error rate | < 1% |
| Latency P95 | < 2s |
| Toxicity rate | < 0.1% |
| Cost per query | Within budget |

---

### Analysis Framework

**Statistical test selection:**
```
Is the metric binary (success/failure)?
├── Yes → Chi-squared test or Z-test for proportions
└── No
    └── Is the data normally distributed?
        ├── Yes → Two-sample t-test
        └── No → Mann-Whitney U test
```

**Interpreting results:**
```
p-value < 0.05: Statistically significant
Effect size (Cohen's d):
  - Small: 0.2
  - Medium: 0.5
  - Large: 0.8

Decision: Ship if p < 0.05 AND effect size meets threshold AND guardrails pass
```

---

## 6. Benchmark Datasets

### General NLP Benchmarks

| Benchmark | Task | Size | Metric |
|-----------|------|------|--------|
| **MMLU** | Knowledge QA | 14K | Accuracy |
| **HellaSwag** | Commonsense | 10K | Accuracy |
| **TruthfulQA** | Factuality | 817 | % Truthful |
| **HumanEval** | Code generation | 164 | pass@k |
| **GSM8K** | Math reasoning | 8.5K | Accuracy |

### RAG Benchmarks

| Benchmark | Focus | Metrics |
|-----------|-------|---------|
| **Natural Questions** | Wikipedia QA | EM, F1 |
| **HotpotQA** | Multi-hop reasoning | EM, F1 |
| **MS MARCO** | Web search | MRR, Recall |
| **BEIR** | Zero-shot retrieval | NDCG@10 |

### Creating Custom Benchmarks

**Template:**
```json
{
  "id": "custom-001",
  "input": "What are the symptoms of diabetes?",
  "expected_output": "Common symptoms include...",
  "metadata": {
    "category": "medical",
    "difficulty": "easy",
    "source": "internal docs"
  },
  "evaluation": {
    "type": "semantic_similarity",
    "threshold": 0.85
  }
}
```

**Best practices:**
- Minimum 100 examples per category
- Include edge cases (10-20%)
- Balance difficulty levels
- Version control your benchmark
- Update quarterly

---

## 7. Evaluation Pipeline Design

### Automated Evaluation Pipeline

```
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Prompt    │────▶│   LLM API   │────▶│   Output    │
│   Version   │     │             │     │   Storage   │
└─────────────┘     └─────────────┘     └──────┬──────┘
                                               │
                    ┌──────────────────────────┘
                    ▼
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Metrics   │◀────│  Evaluator  │◀────│  Benchmark  │
│   Dashboard │     │   Service   │     │   Dataset   │
└─────────────┘     └─────────────┘     └─────────────┘
```

### Implementation Checklist

```
□ Define success metrics
  □ Primary metric (what you're optimizing)
  □ Guardrail metrics (what must not regress)
  □ Monitoring metrics (operational health)

□ Create benchmark dataset
  □ Representative samples from production
  □ Edge cases and failure modes
  □ Golden answers or human labels

□ Set up evaluation infrastructure
  □ Automated scoring pipeline
  □ Version control for prompts
  □ Results tracking and comparison

□ Establish baseline
  □ Run current prompt against benchmark
  □ Document scores for all metrics
  □ Set improvement targets

□ Run experiments
  □ Test one change at a time
  □ Use statistical significance testing
  □ Check all guardrail metrics

□ Deploy and monitor
  □ Gradual rollout (canary)
  □ Real-time metric monitoring
  □ Rollback plan if regression
```

---

## Quick Reference: Metric Selection

| Use Case | Primary Metric | Secondary Metrics |
|----------|---------------|-------------------|
| Summarization | ROUGE-L | BERTScore, Compression ratio |
| Translation | BLEU | chrF, Human pref |
| QA (extractive) | Exact Match, F1 | |
| QA (generative) | BERTScore | Faithfulness, Relevance |
| Code generation | pass@k | Syntax errors |
| Classification | Accuracy, F1 | Precision, Recall |
| RAG | Faithfulness | Context relevance, MRR |
| Open-ended chat | Human eval | Helpfulness, Safety |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.