Descriere & Utilizare
O bază de date vectorială stochează informația sub formă de liste lungi de numere în virgulă mobilă (numite vectori de embedding, de obicei cu 384, 768, 1536 sau 3072 dimensiuni). Fiecare număr reprezintă o caracteristică semantică abstractă a textului, imaginii sau sunetului.
Pentru a găsi cele mai apropiate documente la o întrebare, baza de date calculează distanța matematică între vectorul întrebării și toți vectorii stocați. Cele trei metrici fundamentale sunt: Cosine Similarity (care compară doar direcția vectorilor, ignorând lungimea textului — este standardul în procesarea limbajului natural), Distanța Euclidiană L2 (distanța în linie dreaptă între puncte) și Dot Product (recomandat dacă toți vectorii sunt normalizați la lungimea 1, fiind cel mai rapid pe procesor/GPU).
Alegerea greșită a metricii la crearea colecției duce la rezultate complet eronate la căutarea semantică, deoarece spațiul geometric al fiecărui model este calibrat pe o anumită funcție de cost.
Cum să o reții ușor
💡 Imaginează-ți două indicatoare rutiere: Cosine verifică dacă arată în aceeași direcție indiferent de lungimea stâlpului, L2 măsoară distanța fizică cu ruleta între vârfurile lor, iar Dot Product calculează cât de mult își unesc forțele dacă trag în aceeași direcție.
Opțiuni și parametri tehnici
Dimensiunea vectorului (dimension / size): trebuie să fie identică cu cea generată de modelul de embedding (ex: 1536 pentru text-embedding-3-small, 1024 pentru bge-m3).Metrica (distance / metric): valorile uzuale suntCosine,EuclidsauDot.Normalizare (L2 norm): dacă împarți fiecare vector la norma sa (lungime = 1), distanța Cosine devine echivalentă cu Dot Product, obținând viteză dublă de calcul.
Exemple practice și cazuri de utilizare
- Inițializare colecție cu Cosine în Python:
Distance.COSINEîn Qdrant saumetric="cosine"în Pinecone. - Vectorizare text în română: un paragraf de 50 de cuvinte devine un array
[0.0142, -0.0531, 0.0892, ..., -0.0112]. - Calcul rapid în NumPy:
cosine_sim = np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2)).
Sfaturi de configurare & capcane
Dacă modelul tău de embeddings specifică că generează vectori normalizați (precum modelele OpenAI sau Cohere), folosește metrica Dot Product în loc de Cosine pentru a reduce consumul de CPU la interogări.
Comenzi și ghiduri înrudite
algoritmi-hnsw-ivfflat: Resursă asociată din acest modul.qdrant-client-collections: Resursă asociată din acest modul.pgvector-similarity-operators: Resursă asociată din acest modul.