Annoy: Arbori de Proiecție Aleatorie și Distanță Unghiulară în Baze de Date Vectoriale & Căutare Semantică

Sintaxă & interogare
t = AnnoyIndex(f, 'angular'); t.build(10)

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.

Învață AI • Comunitate & Q&A

Î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.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.