Back to skills
SKILL.md
531 Llm Evaluation Frameworks B87239c5
ASecurityConcrete metrics, scoring methods, comparison tables, and A/B testing frameworks.
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added October 11, 2026
Works with
Security analysis
100/100npx -y skills add tools-only/X-Skills --skill 531-llm_evaluation_frameworks_b87239c5 --agent claude-codeAre you the author of 531 Llm Evaluation Frameworks B87239c5?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-531-llm-evaluation-frameworks-b87239c5)# 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
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.