Przejdź do treści
Biblioteka skilli
AI i agenci · Testowanie

evaluate-semantic-search-engine

/evaluate-semantic-search-engine

Ocenia semantyczną wyszukiwarkę: NDCG@10, MRR, odsetek zapytań bez wyników, opóźnienie zapytań, zysk personalizacji i jakość osadzeń.

Repozytorium
frootai ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
3
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Ocenia semantyczną wyszukiwarkę: NDCG@10, MRR, odsetek zapytań bez wyników, opóźnienie zapytań, zysk personalizacji i jakość osadzeń.

Oryginalny opis (EN)

Evaluate Semantic Search Engine — measure NDCG@10, MRR, zero-result rate, query latency, personalization lift, embedding quality. Use when: evaluate, benchmark search quality.

Jak działa

  1. When to Use
  2. Search Quality Metrics & Targets
  3. Step 1: Prepare Judged Query Set
  4. Step 2: Evaluate Relevance Metrics
  5. Step 3: Evaluate Query Expansion
  6. Step 4: Evaluate Personalization
  7. Step 5: Performance Under Load
  8. Step 6: Generate Report
  9. Evaluation Cadence
  10. Common Failure Patterns
Sekcje z nagłówków SKILL.md, w oryginale · 102 linii, 632 słów
Podgląd SKILL.md
---
name: evaluate-semantic-search-engine
description: "Evaluate Semantic Search Engine — measure NDCG@10, MRR, zero-result rate, query latency, personalization lift, embedding quality. Use when: evaluate, benchmark search quality."
---

# Evaluate Semantic Search Engine

## When to Use
- Measure search relevance (NDCG@10, MRR, Precision@K)
- Track zero-result rate and identify coverage gaps
- Benchmark query latency under load
- Evaluate personalization effectiveness
- Gate deployments with search quality thresholds

## Search Quality Metrics & Targets

| Metric | Target | How to Measure |
|--------|--------|----------------|
| NDCG@10 | ≥ 0.75 | Normalized DCG on judged queries |
| MRR | ≥ 0.65 | Mean Reciprocal Rank |
| Precision@5 | ≥ 0.60 | Relevant in top 5 / 5 |
| Zero-result rate | < 3% | Queries returning 0 results |
| Query latency (p50) | < 150ms | Median response time |
| Query latency (p95) | < 400ms | Tail latency |
| Personalization lift | ≥ 10% | NDCG with vs without personalization |
| Query expansion recall lift | ≥ 15% | Recall with vs without expansion |
| Embedding quality | cosine similarity > 0.8 for similar docs | Embedding coherence test |

## Step 1: Prepare Judged Query Set
```json
{"query": "how to deploy containers", "relevant_docs": ["doc-k8s-101", "doc-aci-guide"], "levels": [3, 2]}
{"query": "machine learning model training", "relevant_docs": ["doc-ml-pipeline", "doc-fine-tuning"], "levels": [3, 3]}
```
Minimum: 100 judged queries with relevance levels (0=irrelevant, 1=partial, 2=relevant, 3=highly relevant).

## Step 2: Evaluate Relevance Metrics
```bash
python evaluation/eval.py --test-set evaluation/test-set.jsonl --metrics relevance
```
- NDCG@10 across all queries
- Per-category breakdown (which topics have low relevance?)
- Compare: keyword-only vs vector-only vs hybrid vs hybrid+semantic

## Step 3: Evaluate Query Expansion
```bash
python evaluation/eval.py --test-set evaluation/test-set.jsonl --metrics query_expansion
```
- Compare recall with and without expansion
- Track which expansion method helps most (synonym, LLM, spelling)
- Identify over-expansion (irrelevant results from too-broad terms)

## Step 4: Evaluate Personalization
- Run same queries with/without user profiles
- Measure NDCG lift from personalization
- Verify: personalization doesn't create filter bubbles
- Test: new user (no profile) still gets good results

## Step 5: Performance Under Load
```bash
python evaluation/benchmark.py --endpoint $SEARCH_API --rps 100 --duration 300s
```
- p50, p95, p99 latency at various QPS
- Throughput ceiling (max QPS before degradation)
- Impact of query expansion on latency

## Step 6: Generate Report
```bash
python evaluation/eval.py --all --output evaluation/report.json --ci-gate
```

### Quality Gate Decision
| Result | Action |
|--------|--------|
| All PASS | Deploy to production |
| NDCG < 0.65 | Tune scoring profiles, improve embeddings |
| Zero-result > 5% | Add synonym maps, expand content coverage |
| Latency p95 > 800ms | Add replicas, optimize query complexity |
| Personalization <5% lift | Improve user profile signals |

## Evaluation Cadence
- **Pre-deployment**: Full judged query evaluation (100+ queries)
- **Weekly**: Zero-result rate, latency monitoring
- **Monthly**: Re-judge top 50 queries, update relevance labels
- **On index change**: Compare NDCG before/after

## Common Failure Patterns

| Symptom | Root Cause | Fix |
|---------|-----------|-----|
| Relevant doc ranked low | No field boost on title | Add title_weight=3.0 in scoring profile |
| Embedding search misses exact matches | Vector-only search | Enable hybrid (BM25 + vector) |
| Query expansion returns noise | LLM too creative | Add "only closely related terms" to prompt |
| Personalization hurts new users | No cold-start fallback | Use global popularity for users with <5 interactions |
| Index stale | Indexer schedule not set | Enable incremental indexing every 5 min |
| High latency on complex queries | Query expansion on every query | Expand only zero-result queries |

## CI/CD Quality Gates
```yaml
- name: NDCG Quality Gate
  run: python evaluation/eval.py --metrics relevance --ci-gate --ndcg-threshold 0.75
- name: Zero-Result Gate
  run: python evaluation/eval.py --metrics coverage --ci-gate --max-zero-rate 0.03
- name: Latency Gate
  run: python evaluation/eval.py --metrics latency --ci-gate --p95-max 400
```
Pliki w paczce (3)
  • SKILL.lean.md 4 KB
  • SKILL.md 4 KB
  • agents/openai.yaml 1 KB

Wersje

W bazie nie ma innych skilli o nazwie evaluate-semantic-search-engine.

Migawka bazy z 13.11.2026 · wersja paczki e74783eab021 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100evaluate-ai-search-portal
    Ocenia portal wyszukiwania AI: trafność wyników (NDCG@10), opóźnienie zapytań, odsetek zapytań bez wyników, współczynnik kliknięć i akceptację autouzupełniania.
  • 100deploy-semantic-search-engine
    Wdraża silnik wyszukiwania semantycznego: potok embeddingów, indeks wektorowy, wyszukiwanie hybrydowe, profile punktacji, rozszerzanie zapytań i API personalizacji.
  • 90rank-eval
    Buduje ewaluację rankingu: pomiar NDCG i MRR, ludzkie etykiety trafności i offline'ową uprząż testową.
  • 100embeddings-search
    Pomaga wybrać model embeddingów, rozmiar chunków i formę zapytania, poprawić trafność wyszukiwania, dodać hybrydę BM25 z wektorami lub reranker i mierzyć recall@k, nDCG oraz MRR.
  • 100hybrid-search-eval-author
    Ocenia hybrydowe potoki wyszukiwania (BM25, wektory, reranker): tworzy zbiory sędziowskie, liczy nDCG@k i MRR, porównuje fuzję RRF z ważoną i mierzy wpływ rerankera.
  • 100tune
    Dobiera rozmiar fragmentów i konfigurację wyszukiwania pod własny korpus, mierząc nDCG, MRR i Hit@5 na zestawie zapytań.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.