Annoy (Approximate Nearest Neighbors Oh Yeah) este o bibliotecă C++ cu legături Python creată de Spotify pentru a alimenta recomandările muzicale. Algoritmul Annoy construiește o pădure de arbori binari prin împărțirea recursivă a spațiului cu hiperplane aleatorii.
Exemplu de indexare și căutare cu Annoy:
from annoy import AnnoyIndex
import random
f = 40 # Numărul de dimensiuni
t = AnnoyIndex(f, 'angular')
for i in range(1000):
v = [random.gauss(0, 1) for z in range(f)]
t.add_item(i, v)
# Construire pădure de 20 de arbori
t.build(20)
t.save('muzica.ann')
# Încărcare prin mmap fără a consuma memorie heap
u = AnnoyIndex(f, 'angular')
u.load('muzica.ann')
print("Vecini pentru piesa 0:", u.get_nns_by_item(0, 5))
Unul dintre marile beneficii practice ale Annoy este că indexul este un fișier binar static ce poate fi partajat între zeci de procese workers prin mmap(), fără alocare suplimentară de memorie per proces.
Întrebări & Exemple practice:
Annoy: Arbori de Proiecție Aleatorie și Distanță UnghiularăAi o întrebare despre Annoy: Arbori de Proiecție Aleatorie și Distanță Unghiulară 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.