# Revision: Cheat Sheet और Self-Check — Embeddings और Vector Search

Source: https://www.geekswithgeeks.com/hi/embeddings/z-revision

> पूरे कोर्स के मुख्य विचार दोहराएँ।

## Cheat sheet

**विचार**: embedding सीखा हुआ vector है; समान अर्थ का मतलब पास के vectors; हर मॉडल का अपना space है (मॉडल कभी न मिलाएँ)। **Similarity**: dot लंबाई और कोण के साथ बढ़ता है, cosine सिर्फ़ दिशा है, L2 दूरी है; इकाई vectors के लिए cosine = dot और L2 वही क्रम देता है, इसलिए normalise करें। **आयाम**: ज़्यादा अपने आप बेहतर नहीं; भंडारण = vectors × आयाम × bytes; random डेटा दूरियाँ सिकोड़ता है। **बनाना**: संदर्भ से सीखा (LSA, word2vec) और transformers का contrastive प्रशिक्षण; भाषाओं, domain, अधिकतम लंबाई, आयाम, लागत, licence और अपने recall से चुनें; अच्छा chunk करें, अधिकतम लंबाई मानें, ज़रूरत पर query/document prefixes। **खोज**: पहले सटीक kNN (ground truth); IVF (nprobe) और HNSW (efSearch) गति के लिए recall देते हैं; scalar और product quantisation memory के लिए सटीकता। **आगे**: query के भीतर metadata filters, RRF के साथ hybrid BM25 + vector, cross-encoder reranking, clustering, near-duplicate सीमाएँ, बहुभाषी और multimodal मॉडल। **गुणवत्ता**: recall@k, MRR, nDCG वाला golden set; कारण-अनुसार error विश्लेषण; मॉडल बदलाव पर समानांतर index से re-index। **Production**: library बनाम database extension बनाम समर्पित engine; वृद्धिशील अद्यतन और deletes; memory अंकगणित और p95/p99; vectors स्रोत जितने संवेदनशील; अनुमतियाँ query में।

**Quiz:** User "time off work" खोजता है पर नीति में "annual leave" लिखा है। कौन-सा तरीक़ा इसे सबसे सीधे ठीक करता है?

- [ ] सिर्फ़ सटीक string मिलान
- [x] Embedding (semantic) search, आदर्श रूप से keyword search के साथ
- [ ] nprobe बढ़ाना
- [ ] int8 vectors उपयोग करना

*Answer:* Embedding (semantic) search, आदर्श रूप से keyword search के साथ. Semantic embeddings शब्दावली-बेमेल पाटते हैं; keyword search सटीक शब्द फिर भी सँभालती है।

**Quiz:** आप embedding model upgrade करते हैं और सिर्फ़ नए दस्तावेज़ दोबारा embed करते हैं, पुराने vectors छोड़ देते हैं। क्या बिगड़ता है?

- [ ] कुछ नहीं, vectors अदल-बदल योग्य हैं
- [x] पुराने और नए vectors अलग spaces में हैं, इसलिए तुलना अर्थहीन हो जाती है
- [ ] Index छोटा हो जाता है
- [ ] सिर्फ़ latency बदलती है

*Answer:* पुराने और नए vectors अलग spaces में हैं, इसलिए तुलना अर्थहीन हो जाती है. मॉडल बदलने पर सब कुछ नए index में दोबारा embed करें।

**Quiz:** आपके HNSW index का exact खोज के विरुद्ध recall@10 0.93 है। समझदार अगला क़दम क्या है?

- [ ] बिना परखे छोटा मॉडल लगाएँ
- [ ] उसे पूर्ण घोषित करें
- [ ] Index हटाएँ
- [x] efSearch (या index parameters) बढ़ाएँ और लक्ष्य recall व latency के विरुद्ध दोबारा मापें

*Answer:* efSearch (या index parameters) बढ़ाएँ और लक्ष्य recall व latency के विरुद्ध दोबारा मापें. Recall और latency में समझौता होता है; स्वीकार्य लागत पर लक्ष्य पूरा होने तक tune करें।
