homelab-codex-ws/kb/phases/kb-m5-eval-retrieval-pilot.md
oskar 0858e25c81 feat(kb): przenosiny type=phase do kb/phases/ (14 plikow, bez SPLIT)
Plany faz KB (modul 5 fazy 2/3/4/mailowa, moduly 0/2/3/4, documents-ingest,
raport fallback-dedup, eval retrieval-pilot) oraz prometheus-cutover-etap2,
subsystem-a-naprawa, okit-cloudflare.

git mv + frontmatter, tresc nietknieta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:58:04 +02:00

40 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
okf: "0.1"
type: phase
visibility: private
status: active
updated: 2026-07-16
links: []
---
# Eval-set: pilot retrieval (faza 2, krok 7) — 2026-07-16
Stan bazy: document_chunk = 2683 chunki (bge-m3, dim 1024), 160 dokumentów z 186 kopert paperless.
Metoda: embed zapytania (bge-m3, Ollama SOLARIA) → `ORDER BY embedding <=> query_vector` → top-5.
Helper: /tmp/kbq.sh (curl /api/embeddings + psql przez ssh piha).
## Skalibrowane progi (cosine distance)
- **< 0.45** trafienie
- **0.450.55** szara strefa (na temat, nieprecyzyjne)
- **> 0.55** — brak odpowiedzi w korpusie
## Zapytania i wyniki (baseline dla bramki kaskady, faza 3 §6)
| # | Zapytanie | top-1 dist | top-1 envelope | Werdykt |
|---|-----------|-----------|----------------|---------|
| 1 | polisa ubezpieczeniowa PZU warunki odpowiedzialności | 0.3418 | paperless:14 (OWU PZU Auto) | trafienie; ujawnił dup 14≡74 |
| 2 | faktura za usługi telekomunikacyjne kwota do zapłaty | 0.3447 | paperless:192 (faktura P4) | trafienie; poz. 3/5 = chunki z OCR-śmieciem (kody kreskowe) |
| 3 | zasady punktacji FLL Challenge robot game (PL) | 0.4154 | paperless:5 | szara strefa — rodzina dokumentów OK, sedno nie |
| 4 | FLL robot game mission scoring points table (EN) | 0.4114 | paperless:5; poz.2+ = paperless:119 (scoresheet, mojibake) | trafienie; cross-lingual > PL; mojibake ≠ śmieć — trafia mimo zniszczonego OCR |
| 5 | innovation project scoring | 0.3869 | paperless:3 (arkusz ocen IP) | najlepszy wynik: top-5 spójnie z jednego właściwego dokumentu |
| N | przepis na sernik z rodzynkami (negatywna kontrola) | 0.6210 | — | poprawny brak; separacja od trafień wyraźna |
| N2 | piaskownica plastikowa (kontrola graniczna) | 0.5533 | — | poprawnie na granicy "brak" — semantycznie sąsiednie dokumenty wspólnoty, nie odpowiedź |
## Kryterium bramki kaskady (faza 3 §6)
Kaskada summary→chunk na tych samych zapytaniach: żaden płaski hit nie degraduje, hit@3 ≥ baseline, negatywne kontrole > 0.55.
## Findings (adresowane w fazie 3 §3)
- Chunki z binarnym OCR-szumem (zmielone kody kreskowe) rankują się przez doklejony realny tekst → filtr `ocr_junk`
- paperless:14 ≡ paperless:74 (duplikat dokumentu) → dedup
- Mojibake (paperless:119) NIE wykluczać — niesie sygnał (patrz zapytanie 4)