D· AI-utvecklareLaboration· ca 45 min· container
Labb: semantisk sökning med embeddings
Bygga en liten sökmotor: normalisera embeddingar, beräkna cosinuslikhet mot alla dokument med en matrisprodukt, ta topp-k, och mäta recall.
Lär ut: embeddings · Kräver: vektorer
Teori
Normalisera alla vektorer till längd 1 — då är cosinuslikhet bara en matrisprodukt Q·Dᵀ. Topp-k = de k största per rad.
Deluppgifter
- normalize — `normalize(M)` delar varje rad med sin norm.
- topk — `topk(q, D, k)` returnerar index till de k mest lika dokumenten (fallande).
- recall_at_k — `recall_at_k(Q, D, truth, k)` — andel frågor där rätt dokument finns bland topp-k.
Evals: recall@3 (recall >= 0.9)
Logga in för att köra laborationen.
Förväntade resultat
recall@3 ≥ 0,9 på det syntetiska datasetet (frågor = dokument + brus).
Vanliga fel
- Normaliserar kolumner i stället för rader.
argsortstigande — vänd ordningen.- Division med noll för nollvektor.