Dezvoltată de laboratorul Meta FAIR, biblioteca FAISS (Facebook AI Similarity Search) este standardul de aur în căutarea aproximativă a celor mai apropiați vecini (ANN). FAISS implementează zeci de algoritmi de indexare optimizați la nivel de instrucțiuni SIMD (AVX2, AVX-512) pentru procesoare moderne.
Exemplu de indexare IVF (Inverted File) cu antrenare pe lot:
import faiss
import numpy as np
d = 768 # Dimensiunea vectorilor
nlist = 100 # Numărul de celule Voronoi (centroizi)
k = 5 # Top vecini căutați
# Cuantizatorul grosier (coarse quantizer)
quantizer = faiss.IndexFlatL2(d)
index = faiss.IndexIVFFlat(quantizer, d, nlist, faiss.METRIC_L2)
# Date de antrenament sintetice
xb = np.random.random((10000, d)).astype('float32')
index.train(xb) # Calculează centroizii K-Means
index.add(xb) # Adaugă vectorii în listele inversate
index.nprobe = 10 # Numărul de celule Voronoi inspectate la căutare
xq = np.random.random((1, d)).astype('float32')
D, I = index.search(xq, k)
print("Indici vecini:", I)
Parametrul nprobe oferă un compromis ajustabil în timp real între viteza de execuție și acuratețea recall-ului: o valoare mică sporește QPS-ul, în timp ce o valoare ridicată apropie rezultatele de o căutare exactă (brute-force).
Întrebări & Exemple practice:
FAISS: IndexFlatL2, IndexIVFFlat și Căutare Rapidă pe CPUAi o întrebare despre FAISS: IndexFlatL2, IndexIVFFlat și Căutare Rapidă pe CPU sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.